Managed to get the sku doing the same thing as the previous code.

This commit is contained in:
counterweight 2023-09-06 14:20:28 +02:00
parent f3776966bc
commit 83743ca526
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
5 changed files with 43 additions and 13 deletions

View file

@ -1,9 +1,12 @@
import logging
from typing import Dict, Collection
from camisatoshi_wordpress_reports.constants import order_keys, custom_meta_data_keys
from camisatoshi_wordpress_reports.utils import safe_zero_division
logger = logging.getLogger()
class Order:
def __init__(self, raw_data: Dict):
self.raw_data = raw_data
@ -47,9 +50,12 @@ class Order:
return sats_received_for_sku
def contains_sku(self, sku: str) -> bool:
logger.debug(f"Checking if order {self['id']} contains sku {sku}.")
for item in self[order_keys.line_items]:
if item[order_keys.line_item_keys.sku] == sku:
logger.debug(f"It does.")
return True
logger.debug("It doesn't.")
return False
def contains_meta_data_entry(self, meta_data_entry_key: str) -> bool:
@ -94,6 +100,8 @@ class Orders:
if order.contains_sku(sku):
filtered_orders.append(order)
logger.debug(f"Finished filtering. I have {len(filtered_orders)} orders.")
return Orders(filtered_orders)
def filter_orders_without_sats_received(self) -> "Orders":