Implement multi SKU filtering
This commit is contained in:
parent
a1dcb826ee
commit
3b24f96352
2 changed files with 24 additions and 6 deletions
|
|
@ -77,6 +77,14 @@ def generate_um_report(
|
|||
logger.info(f"Filtering by SKU: {relevant_sku}")
|
||||
relevant_orders = orders_in_date_range.filter_orders_by_sku(
|
||||
sku=relevant_sku
|
||||
relevant_skus = [
|
||||
"TEE-05-BBO-BLACK",
|
||||
"SUD-01-BBO-BLACK",
|
||||
"TEE-09-SIMPLY-BITCOIN"
|
||||
]
|
||||
logger.info(f"Filtering by SKUs: {relevant_skus}")
|
||||
relevant_orders = orders_in_date_range.filter_orders_by_skus(
|
||||
skus=relevant_skus
|
||||
)
|
||||
logger.info(f"Kept {len(relevant_orders)} orders.")
|
||||
|
||||
|
|
@ -111,12 +119,12 @@ def generate_um_report(
|
|||
report.append(
|
||||
{
|
||||
"order_id": order[ORDER_KEYS.id],
|
||||
"sku": relevant_sku,
|
||||
"units_sold": order.units_of_sku(relevant_sku),
|
||||
"eur_income": order.sales_of_sku(relevant_sku),
|
||||
"sats_income": order.sats_received_for_sku(relevant_sku),
|
||||
"sku": relevant_skus,
|
||||
"units_sold": order.units_of_skus(relevant_skus),
|
||||
"eur_income": order.sales_of_sku(relevant_skus),
|
||||
"sats_income": order.sats_received_for_sku(relevant_skus),
|
||||
"sats_owed_to_um": (
|
||||
order.sats_received_for_sku(relevant_sku)
|
||||
order.sats_received_for_sku(relevant_skus)
|
||||
* (1 - BBO_ROYALTY_FEE_PERCENTAGE)
|
||||
)
|
||||
* UM_FIRST_AGREEMENT_PERCENTAGE,
|
||||
|
|
@ -160,7 +168,7 @@ def generate_sku_report(start_date, end_date, sku):
|
|||
{
|
||||
"order_id": order[ORDER_KEYS.id],
|
||||
"sku": sku,
|
||||
"units_sold": order.units_of_sku(sku),
|
||||
"units_sold": order.units_of_skus(sku),
|
||||
"eur_income": order.sales_of_sku(sku),
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -105,6 +105,16 @@ class Orders:
|
|||
|
||||
return Orders(filtered_orders)
|
||||
|
||||
def filter_orders_by_skus(self, skus: Collection[str]) -> "Orders":
|
||||
filtered_orders = []
|
||||
|
||||
for order in self:
|
||||
for sku in skus:
|
||||
if order.contains_sku(sku):
|
||||
filtered_orders.append(order)
|
||||
|
||||
return Orders(filtered_orders)
|
||||
|
||||
def filter_orders_without_sats_received(self) -> "Orders":
|
||||
orders_without_sats_received = []
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue