return results
if match.command('clear'):
- store_id = ' '.join(match.args()[1:])
- Data().clear_list(store_id)
- self.last_store_id = None
- return ['Success']
+ store_name = ' '.join(match.args()[1:])
+ results = Data().clear_list(store_name)
+ return results
if match.command('clear.all'):
- store_id = ' '.join(match.args()[1:])
- Data().clear_list(store_id, clear_all=True)
- return ['Success']
-
+ store_name = ' '.join(match.args()[1:])
+ results = Data().clear_list(store_name, clear_all=True)
+ return results
if match.command('at'):
store_name = ' '.join(match.args()[1:])
return results
- def clear_list(self, store_id, clear_all=False):
+ def clear_list(self, store_name, clear_all=False):
+ results = []
with Session(self.engine) as session:
- store = session.exec(_get_with_id(Store, store_id)).first()
+ store = session.exec(_get_with_name(Store, store_name)).first()
+ if not store:
+ return [f'Store {store_name} not found.']
+
for item in store.shopping_list:
if clear_all or item.purchase_date:
session.delete(item)
+
session.commit()
+ results = store.get_pretty_shopping_list()
+ return results
def get_stores(self):
with Session(self.engine) as session:
print(str(item))
@task
-def clear_all(c, store_id):
- Data().clear_list(store_id, clear_all=True)
-
-@task
-def clear_list(c, store_id):
- Data().clear_list(store_id)
+def clear(c, store_name, clear_all=False):
+ results = Data().clear_list(store_name, clear_all)
+ for item in results:
+ print(str(item))
@task