diff --git a/camisatoshi_wordpress_reports/controllers.py b/camisatoshi_wordpress_reports/controllers.py index 8c72d62..7bc8a47 100644 --- a/camisatoshi_wordpress_reports/controllers.py +++ b/camisatoshi_wordpress_reports/controllers.py @@ -6,6 +6,8 @@ import logging from dotenv import dotenv_values from woocommerce import API +from camisatoshi_wordpress_reports.order import Order + API_CONFIG = dotenv_values( dotenv_path=Path.home() / Path(".camisatoshi-wordpress-reports/.env") ) @@ -54,6 +56,8 @@ def generate_um_report(start_date: str, end_date: str): }, ).json() + orders_in_date_range = [Order.from_api_response(order_raw_data) for order_raw_data in orders_in_date_range] + logger.info(f"Received {len(orders_in_date_range)} orders.") skus_to_keep = ["TEE-05-BBO-BLACK"] @@ -103,7 +107,7 @@ def filter_orders_by_sku(orders: List[Dict], skus: List[str]) -> List[Dict]: return filtered_orders -def find_orders_without_sats_received(orders: List[Dict]): +def find_orders_without_sats_received(orders: List[Dict]) -> List[Dict]: orders_without_sats_received = [] for order in orders: diff --git a/camisatoshi_wordpress_reports/order.py b/camisatoshi_wordpress_reports/order.py new file mode 100644 index 0000000..18add68 --- /dev/null +++ b/camisatoshi_wordpress_reports/order.py @@ -0,0 +1,14 @@ +from typing import Dict + + +class Order: + + def __init__(self, raw_data: Dict): + self.raw_data = raw_data + + def __getitem__(self, item): + return self.raw_data[item] + + @classmethod + def from_api_response(cls, raw_data) -> "Order": + return Order(raw_data)