X-Git-Url: https://apps.delaporte.us/gitweb/matrix-shop-bot.git/blobdiff_plain/f0c5c5f064c1e4eca6446e7c43b60d0c39f98a39..b0d59de8e794c84f2089515e3adf3a68703c96b8:/matrix_shop_bot/db.py diff --git a/matrix_shop_bot/db.py b/matrix_shop_bot/db.py index 59cab85..6cacc33 100644 --- a/matrix_shop_bot/db.py +++ b/matrix_shop_bot/db.py @@ -1,6 +1,7 @@ import logging import os from datetime import datetime as dt +from datetime import timedelta from decimal import Decimal from typing import List @@ -66,7 +67,7 @@ def _get_pretty_shopping_list(store_id, session) -> List[str]: zones = {} for item in items: - zone = _get_item_zone(item.name, session) + zone = str(_get_item_zone(item.name, session)).title() # Title Case if not zone in zones: zones[zone] = [] zones[zone].append(str(item)) @@ -191,9 +192,13 @@ class Data(): def list_purchases(self, store_name): with Session(self.engine) as session: - cmd = select(PurchaseRecord).where(func.lower(PurchaseRecord.store) == func.lower(store_name)) + recent = dt.now() - timedelta(days=90) + cmd = select(PurchaseRecord).where(func.lower(PurchaseRecord.store) == func.lower(store_name)).where(PurchaseRecord.purchase_date > recent) records = session.exec(cmd).all() - return records + bought = set() + for item in records: + bought.add(item.name) + return list(bought) def purchase_items(self, item_ids): results = []