X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;ds=sidebyside;f=plomtask%2Fdb.py;h=b5461a507e9612e2593643e6d6e198779e2fc456;hb=6b9970ff864e0e63527213fea5c0bed40ba877a7;hp=4396b444a61f0c2f59e2046b554e79c56e541faa;hpb=f92de64d072009c8c4bf96b9eeb9fa245045662b;p=plomtask diff --git a/plomtask/db.py b/plomtask/db.py index 4396b44..b5461a5 100644 --- a/plomtask/db.py +++ b/plomtask/db.py @@ -6,7 +6,7 @@ from difflib import Differ from sqlite3 import connect as sql_connect, Cursor, Row from typing import Any, Self, TypeVar, Generic from plomtask.exceptions import HandledException, NotFoundException -from plomtask.dating import (MIN_RANGE_DATE, MAX_RANGE_DATE, valid_date) +from plomtask.dating import valid_date EXPECTED_DB_VERSION = 4 MIGRATIONS_DIR = 'migrations' @@ -358,19 +358,19 @@ class BaseModel(Generic[BaseModelId]): @classmethod def by_date_range_with_limits(cls: type[BaseModelInstance], db_conn: DatabaseConnection, - date_range: tuple[str, str] = ('', ''), + date_range: tuple[str, str], date_col: str = 'day' ) -> tuple[list[BaseModelInstance], str, str]: """Return list of Days in database within (open) date_range interval. - If no range values provided, defaults them to MIN_RANGE_DATE and - MAX_RANGE_DATE. Also knows to properly interpret 'today' as value. + If no range values provided, defaults them to 'yesterday' and + 'tomorrow'. Knows to properly interpret these and 'today' as value. """ - min_date = MIN_RANGE_DATE - max_date = MAX_RANGE_DATE - start_date = valid_date(date_range[0] if date_range[0] else min_date) - end_date = valid_date(date_range[1] if date_range[1] else max_date) + start_str = date_range[0] if date_range[0] else 'yesterday' + end_str = date_range[1] if date_range[1] else 'tomorrow' + start_date = valid_date(start_str) + end_date = valid_date(end_str) items = [] sql = f'SELECT id FROM {cls.table_name} ' sql += f'WHERE {date_col} >= ? AND {date_col} <= ?'