From 2fb57b5bebf40cf9f230b2450e07d9cf9f582b63 Mon Sep 17 00:00:00 2001 From: counterweight Date: Thu, 3 Aug 2023 09:29:11 +0200 Subject: [PATCH] Get orders in date range --- camisatoshi_wordpress_reports/cli.py | 4 ++-- camisatoshi_wordpress_reports/controllers.py | 21 +++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/camisatoshi_wordpress_reports/cli.py b/camisatoshi_wordpress_reports/cli.py index f1877f1..9cc7eb5 100644 --- a/camisatoshi_wordpress_reports/cli.py +++ b/camisatoshi_wordpress_reports/cli.py @@ -11,6 +11,6 @@ def check_health(): @app.command() -def show_orders(): - controllers.show_orders() +def generate_um_report(start_date: str, end_date: str): + controllers.generate_um_report(start_date, end_date) diff --git a/camisatoshi_wordpress_reports/controllers.py b/camisatoshi_wordpress_reports/controllers.py index 073f941..0b6a273 100644 --- a/camisatoshi_wordpress_reports/controllers.py +++ b/camisatoshi_wordpress_reports/controllers.py @@ -1,4 +1,6 @@ from pathlib import Path +import datetime +from typing import List, Dict from dotenv import dotenv_values from woocommerce import API @@ -30,9 +32,18 @@ def check_health(): print("Connection successful. The API is reachable.") -def show_orders(): - print( - WC_API.get( - "orders", params={"after": "2023-07-21T18:02:23+00:00"} - ).json() +def generate_um_report(start_date: str, end_date: str): + + orders_in_date_range = WC_API.get( + endpoint="orders", + params={ + "after": datetime.datetime.strptime( + start_date, "%Y-%m-%d" + ).isoformat(), + "before": datetime.datetime.strptime( + end_date, "%Y-%m-%d" + ).isoformat(), + "per_page": 100, + "status": "processing,completed", + }, )