diff --git a/camisatoshi_wordpress_reports/cli.py b/camisatoshi_wordpress_reports/cli.py index 9cc7eb5..85a63eb 100644 --- a/camisatoshi_wordpress_reports/cli.py +++ b/camisatoshi_wordpress_reports/cli.py @@ -1,5 +1,9 @@ +import datetime + import typer +from typing_extensions import Annotated + import camisatoshi_wordpress_reports.controllers as controllers app = typer.Typer() @@ -11,6 +15,8 @@ def check_health(): @app.command() -def generate_um_report(start_date: str, end_date: str): +def generate_um_report( + start_date: Annotated[datetime.datetime, typer.Option(prompt=True)], + end_date: Annotated[datetime.datetime, typer.Option(prompt=True)], +): controllers.generate_um_report(start_date, end_date) - diff --git a/camisatoshi_wordpress_reports/controllers.py b/camisatoshi_wordpress_reports/controllers.py index 2eb690a..54ffe14 100644 --- a/camisatoshi_wordpress_reports/controllers.py +++ b/camisatoshi_wordpress_reports/controllers.py @@ -40,17 +40,14 @@ def check_health(): logger.info("Connection successful. The API is reachable.") -def generate_um_report(start_date: str, end_date: str): - start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d").isoformat() - end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d").isoformat() - +def generate_um_report(start_date: datetime.datetime, end_date: datetime.datetime) -> None: logger.info(f"Fetching orders between {start_date} and {end_date}.") orders_in_date_range = WC_API.get( endpoint="orders", params={ - "after": start_date, - "before": end_date, + "after": start_date.isoformat(), + "before": end_date.isoformat(), "per_page": 100, "status": "processing,completed", },