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
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)
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:
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 = []
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)