Order is now a class instead of just a dict.

This commit is contained in:
Pablo Martin 2023-08-03 14:55:41 +02:00
parent bca2e7b143
commit 7c1dba2f1b
2 changed files with 19 additions and 1 deletions

View file

@ -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:

View file

@ -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)