A lot of work
This commit is contained in:
parent
a3af630c1f
commit
f3776966bc
3 changed files with 204 additions and 0 deletions
|
|
@ -1,3 +1,4 @@
|
|||
from functools import partial
|
||||
from pathlib import Path
|
||||
import datetime
|
||||
import logging
|
||||
|
|
@ -12,6 +13,7 @@ from camisatoshi_wordpress_reports.constants import (
|
|||
DEFAULT_DOTENV_FILEPATH,
|
||||
bbo_royalty_fee,
|
||||
)
|
||||
from camisatoshi_wordpress_reports.report_building import ReportChainBuilder, WoocomerceOrderScope, keep_orders_containing_sku
|
||||
|
||||
API_CONFIG = dotenv_values(
|
||||
dotenv_path=Path.home() / Path(DEFAULT_DOTENV_FILEPATH)
|
||||
|
|
@ -176,3 +178,48 @@ def generate_sku_report(start_date, end_date, sku):
|
|||
dict_writer = csv.DictWriter(output_file, keys)
|
||||
dict_writer.writeheader()
|
||||
dict_writer.writerows(report)
|
||||
|
||||
|
||||
def wip_generate_sku_report(start_date, end_date, sku):
|
||||
logger.info(f"Fetching orders between {start_date} and {end_date}.")
|
||||
|
||||
report_chain_builder = ReportChainBuilder()
|
||||
|
||||
report_chain_builder.add_order_fetching_step(
|
||||
wc_order_scope=WoocomerceOrderScope(
|
||||
after=start_date.isoformat(),
|
||||
before=end_date.isoformat(),
|
||||
status="processing,completed"
|
||||
)
|
||||
)
|
||||
|
||||
report_chain_builder.add_order_filtering_step(
|
||||
partial(
|
||||
keep_orders_containing_sku,
|
||||
sku=sku
|
||||
)
|
||||
)
|
||||
|
||||
report_chain = report_chain_builder.get_report_chain()
|
||||
|
||||
relevant_orders = report_chain.run_chain(WC_API)
|
||||
|
||||
report = []
|
||||
for order in relevant_orders:
|
||||
report.append(
|
||||
{
|
||||
"order_id": order["id"],
|
||||
"sku": sku,
|
||||
"units_sold": order.units_of_sku(sku),
|
||||
"eur_income": order.sales_of_sku(sku),
|
||||
}
|
||||
)
|
||||
logger.info("Report generated.")
|
||||
logger.info(report)
|
||||
|
||||
keys = report[0].keys()
|
||||
|
||||
with open("report.csv", "w", newline="") as output_file:
|
||||
dict_writer = csv.DictWriter(output_file, keys)
|
||||
dict_writer.writeheader()
|
||||
dict_writer.writerows(report)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue