From: Edward Delaporte Date: Sun, 29 Mar 2026 17:42:52 +0000 (-0500) Subject: Fixes for last store X-Git-Tag: 1.1.0~26 X-Git-Url: https://apps.delaporte.us/gitweb/matrix-shop-bot.git/commitdiff_plain/b101ceec84269b137eaee1fe4257131fe8820630?ds=sidebyside Fixes for last store --- diff --git a/matrix_shop_bot/bot.py b/matrix_shop_bot/bot.py index 734cdb2..b1437ef 100644 --- a/matrix_shop_bot/bot.py +++ b/matrix_shop_bot/bot.py @@ -29,11 +29,13 @@ async def do_shop(match): help - show this help add - add an item to shop for add-store - add a store - assign ITEM_ID STORE_ID - plan to shop for at store for item + assign-item-to-store ITEM_ID STORE_ID - plan to shop for at store for item + assign ITEM_ID - assign item to last used store id buy - mark item as purchased clear STORE_ID - clear all purchased items for STORE_ID from database clear-all STORE_ID - clear **all** items for STORE_ID from database - list STORE_ID - list all items assigned to store + list - re-show list from last used store + list-for-store STORE_ID - list all items assigned to store list-stores - list all stores unsorted - list all items not assigned to any store remove-item ITEM_ID - remove a shopping item from the datatbase @@ -62,17 +64,18 @@ async def do_shop(match): result = Data().add_store(new) return [f'Store added with id {result}'] - if match.command('assign'): + if match.command('assign-item-to-store'): item_id = int(match.args()[1]) store_id = int(match.args()[2]) - - if not isinstance(store_id, int): - store_id = None - Data().assign_store(item_id, store_id) + return ['Success'] + + if match.command('assign'): + item_id = int(match.args()[1]) + Data().assign_last_store(item_id) # Now print the list for the assigned store - items = Data().get_shopping_list(store_id) + items = Data().get_last_shopping_list() results = ['Shopping List'] for item in items: results.append(str(item)) @@ -94,17 +97,21 @@ async def do_shop(match): Data().clear_list(store_id, clear_all=True) return ['Success'] - if match.command('list'): - store_id_str = ' '.join(match.args()[1]) - - store_id = int(store_id_str) if store_id_str else None - items = Data().get_shopping_list(store_id) + if match.command('list-for-store'): + store_id = ' '.join(match.args()[1]) + items = Data().get_shopping_list_for_store(store_id) results = ['Shopping List'] for item in items: results.append(str(item)) return results + if match.command('list'): + items = Data().get_last_shopping_list() + results = ['Shopping List'] + for item in items: + results.append(str(item)) + return results if match.command('unsorted'): items = Data().get_unsorted_list() diff --git a/matrix_shop_bot/db.py b/matrix_shop_bot/db.py index ea8a3a7..cd075b9 100644 --- a/matrix_shop_bot/db.py +++ b/matrix_shop_bot/db.py @@ -103,8 +103,9 @@ class Data(): return item_id def assign_last_store(self, item_id): - store_id = self._get_pref_store_id(store_id) - return self.assign_store(item_id, store_id) + store_id = self._get_pref_store_id() + self.assign_store(item_id, store_id) + return store_id def assign_store(self, item_id, store_id): self._set_pref_store_id(store_id) diff --git a/matrix_shop_bot/tasks.py b/matrix_shop_bot/tasks.py index 4b8631a..73f57e2 100644 --- a/matrix_shop_bot/tasks.py +++ b/matrix_shop_bot/tasks.py @@ -19,7 +19,13 @@ def add_store(c, name): @task -def assign(c, store_id, item_id): +def assign(c, item_id): + result = Data().assign_last_store(item_id) + print(result) + + +@task +def assign_to_store(c, item_id, store_id): result = Data().assign_store(store_id, item_id) print(result)