From: Edward Delaporte Date: Sat, 6 Jun 2026 18:46:34 +0000 (-0500) Subject: Fix - allow adding items again after they are long expired X-Git-Url: https://us-delaporte.pagekite.me/gitweb/matrix-fridge-bot.git/commitdiff_plain/4d9a436f9424c38810c6604831da5cc066564d4a Fix - allow adding items again after they are long expired --- diff --git a/matrix_fridge_bot/db.py b/matrix_fridge_bot/db.py index eb414a4..4f31e5a 100644 --- a/matrix_fridge_bot/db.py +++ b/matrix_fridge_bot/db.py @@ -3,7 +3,7 @@ import os from datetime import datetime as dt from datetime import timedelta -from sqlmodel import Field, Session, SQLModel, create_engine, select, text +from sqlmodel import Field, Session, SQLModel, create_engine, select, text, delete ## Todo List # - [x] add to fridge @@ -13,7 +13,7 @@ from sqlmodel import Field, Session, SQLModel, create_engine, select, text DATE_FORMAT = '%A, %Y-%m-%d' MODULE='fridge' STALE_DAYS = 4 -TOSS_DAYS = 5 +FORGET_DAYS = 10 def today(): return dt.now().strftime(DATE_FORMAT) @@ -55,6 +55,12 @@ class Data(): logger.debug(f'Stale date is {stale}') return stale + @staticmethod + def get_forget(): + forget = dt.now() - timedelta(FORGET_DAYS) + return forget + + def list(self): results = [] with Session(self.engine) as session: @@ -78,6 +84,16 @@ class Data(): return results + def cleanup(self): + + logger.debug(f'Cleaning up...') + with Session(self.engine) as session: + stale_dt = Data.get_forget() + cmd = delete(Food).where(Food.added_date < stale_dt) + result = session.exec(cmd) + session.commit() + return True + def filter(self, term): results = [] @@ -88,6 +104,8 @@ class Data(): return results def add(self, name): + logger.debug(f'Attempting to add {name}') + self.cleanup() # Old items can block new ones try: with Session(self.engine) as session: new = Food(name=name)