Sku checking in Order class
This commit is contained in:
parent
7c1dba2f1b
commit
2e7db68ab4
2 changed files with 9 additions and 3 deletions
|
|
@ -96,12 +96,12 @@ def generate_um_report(start_date: str, end_date: str):
|
||||||
# - Add metadata entry: is_settled_with_um: 1
|
# - Add metadata entry: is_settled_with_um: 1
|
||||||
|
|
||||||
|
|
||||||
def filter_orders_by_sku(orders: List[Dict], skus: List[str]) -> List[Dict]:
|
def filter_orders_by_sku(orders: List[Order], skus: List[str]) -> List[Order]:
|
||||||
filtered_orders = []
|
filtered_orders = []
|
||||||
|
|
||||||
for order in orders:
|
for order in orders:
|
||||||
for item in order["line_items"]:
|
for sku in skus:
|
||||||
if item["sku"] in skus:
|
if order.contains_sku(sku):
|
||||||
filtered_orders.append(order)
|
filtered_orders.append(order)
|
||||||
|
|
||||||
return filtered_orders
|
return filtered_orders
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,12 @@ class Order:
|
||||||
def __getitem__(self, item):
|
def __getitem__(self, item):
|
||||||
return self.raw_data[item]
|
return self.raw_data[item]
|
||||||
|
|
||||||
|
def contains_sku(self, sku: str) -> bool:
|
||||||
|
for item in self["line_items"]:
|
||||||
|
if item["sku"] == sku:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_api_response(cls, raw_data) -> "Order":
|
def from_api_response(cls, raw_data) -> "Order":
|
||||||
return Order(raw_data)
|
return Order(raw_data)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue