from datetime import datetime, timedelta
from plomtask.exceptions import BadFormatException
from plomtask.db import DatabaseConnection, BaseModel
+from plomtask.todos import Todo
DATE_FORMAT = '%Y-%m-%d'
MIN_RANGE_DATE = '2024-01-01'
super().__init__(id_)
self.datetime = datetime.strptime(self.date, DATE_FORMAT)
self.comment = comment
+ self.calendarized_todos: list[Todo] = []
def __lt__(self, other: Day) -> bool:
return self.date < other.date
"""Return date succeeding date of this Day."""
next_datetime = self.datetime + timedelta(days=1)
return next_datetime.strftime(DATE_FORMAT)
+
+ def collect_calendarized_todos(self, db_conn: DatabaseConnection) -> None:
+ """Fill self.calendarized_todos."""
+ self.calendarized_todos = [t for t in Todo.by_date(db_conn, self.date)
+ if t.calendarize]