X-Git-Url: https://apps.delaporte.us/gitweb/matrix-fridge-bot.git/blobdiff_plain/dd82eeb660d6db12c47af269b16badc9be8b1f2b..5277eab78b8b86f05f432081cd59ad8ef9aaa806:/matrix_fridge_bot/db.py diff --git a/matrix_fridge_bot/db.py b/matrix_fridge_bot/db.py index f938a48..eb414a4 100644 --- a/matrix_fridge_bot/db.py +++ b/matrix_fridge_bot/db.py @@ -1,24 +1,28 @@ import logging import os from datetime import datetime as dt +from datetime import timedelta from sqlmodel import Field, Session, SQLModel, create_engine, select, text ## Todo List -# - [ ] add to fridge +# - [x] add to fridge # - [ ] reminder to eat recent food # - [ ] reminder to toss old food DATE_FORMAT = '%A, %Y-%m-%d' MODULE='fridge' -STALE_DAYS = 2 -TOSS_DAYS = 4 +STALE_DAYS = 4 +TOSS_DAYS = 5 def today(): return dt.now().strftime(DATE_FORMAT) logger = logging.getLogger(__name__) -logging.basicConfig(filename=f'{MODULE}.log', encoding='utf-8', level=logging.DEBUG) +logging.basicConfig(filename=f'matrix-{MODULE}-bot.log', encoding='utf-8', level=logging.DEBUG) +logging.getLogger('nio').setLevel(logging.WARNING) +logging.getLogger('asyncio').setLevel(logging.WARNING) +logging.getLogger('invoke').setLevel(logging.WARNING) class Food(SQLModel, table=True): id: int | None = Field(default=None, primary_key=True) @@ -33,6 +37,7 @@ class Data(): def __init__(self, db_file): self.file = db_file + logger.debug(f'DB file: {db_file}') self.engine = self.get_engine() def get_db_file(self): @@ -46,14 +51,17 @@ class Data(): @staticmethod def get_stale(): - return dt.now() - dt.timedelta(STALE_DAYS) + stale = dt.now() - timedelta(STALE_DAYS) + logger.debug(f'Stale date is {stale}') + return stale def list(self): results = [] with Session(self.engine) as session: stale_dt = Data.get_stale() - cmd = select(Food).where(Food.added_date < stale_dt) + cmd = select(Food).where(Food.added_date > stale_dt) results = session.exec(cmd).all() + logger.debug(f'List restuls are {str(results)}') if(not results): results.append('Nothing Found') @@ -63,7 +71,7 @@ class Data(): results = [] with Session(self.engine) as session: stale_dt = Data.get_stale() - cmd = select(Food).where(Food.added_date >= stale_dt) + cmd = select(Food).where(Food.added_date <= stale_dt) results = session.exec(cmd).all() if(not results): results.append('Nothing Found')