X-Git-Url: https://us-delaporte.pagekite.me/gitweb/matrix-shop-bot.git/blobdiff_plain/db78747293274faf1defe9a16d66baedfdef0aa3..ca2db266cee4e01d5cb210e9c0963fba974b8ba0:/matrix_shop_bot/bot.py?ds=sidebyside diff --git a/matrix_shop_bot/bot.py b/matrix_shop_bot/bot.py index 0e898e6..5c8e6c5 100644 --- a/matrix_shop_bot/bot.py +++ b/matrix_shop_bot/bot.py @@ -4,7 +4,7 @@ import os import simplematrixbotlib as botlib -from .db import Data, pretty_print +from .db import Data MODULE='shop' @@ -34,6 +34,7 @@ async def do_shop(match): 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-stores - list all stores list-unsorted - list all items not assigned to any store remove ITEM_ID - remove a shopping item from the datatbase remove-store STORE_ID - remove a store from the datatbase (requires clearing the list first) @@ -44,6 +45,13 @@ async def do_shop(match): result = Data().setup() return [result] + if match.command('list-stores'): + items = Data().get_stores() + results = ['List of Stores'] + for item in items: + results.append(str(item)) + return results + if match.command('add'): new = ' '.join(match.args()[1:]) result = Data().add_item(new) @@ -57,32 +65,38 @@ async def do_shop(match): if match.command('assign'): store_id = int(match.args()[1]) item_id = int(match.args()[2]) - result = Data().assign_store(store_id, item_id) - return result + Data().assign_store(store_id, item_id) + + # Now print the list for the assigned store + items = Data().get_shopping_list(store_id) + results = ['Shopping List'] + for item in items: + results.append(str(item)) + return results if match.command('buy'): item_id = ' '.join(match.args()[1:]) Data().purchase_item(item_id) + return ['Success'] if match.command('clear'): store_id = ' '.join(match.args()[1:]) Data().clear_list(store_id) + return ['Success'] if match.command('clear-all'): store_id = ' '.join(match.args()[1:]) Data().clear_list(store_id, clear_all=True) + return ['Success'] if match.command('list'): + store_id = ' '.join(match.args()[1:]) items = Data().get_shopping_list(store_id) + results = ['Shopping List'] for item in items: results.append(str(item)) return results - if match.command('list-stores'): - items = Data().get_stores() - for item in items: - results.append(str(item)) - return results if match.command('unsorted'): items = Data().list_unsorted() @@ -93,10 +107,12 @@ async def do_shop(match): if match.command('remove-item'): item_id = ' '.join(match.args()[1:]) Data().remove_item(item_id) + return ['Success'] if match.command('remove-store'): store_id = ' '.join(match.args()[1:]) Data().remove_store(store_id) + return ['Success'] return [do_shop.__doc__]