X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdeck_id%7D%7D/cards/%7B%7Bcard_id%7D%7D/form?a=blobdiff_plain;f=plomtask%2Fdays.py;h=68cf989643924a42b1ef8b48cc04a63434efe6b9;hb=1a9557367351fe26d08ea705400b3b56394caae6;hp=267156d831583d591788ad5a79bb6eb0013bdeaa;hpb=25b71c6f0b10db05907128daf50c6e543e514c35;p=plomtask diff --git a/plomtask/days.py b/plomtask/days.py index 267156d..68cf989 100644 --- a/plomtask/days.py +++ b/plomtask/days.py @@ -28,7 +28,9 @@ class Day(BaseModel[str]): def as_dict(self) -> dict[str, object]: """Return self as (json.dumps-coompatible) dict.""" d = super().as_dict - d['todos'] = [t.as_dict for t in self.todos] + assert isinstance(d['_library'], dict) + d['todos'] = [t.as_dict_into_reference(d['_library']) + for t in self.todos] return d @classmethod @@ -41,10 +43,9 @@ class Day(BaseModel[str]): return day @classmethod - def by_id(cls, db_conn: DatabaseConnection, id_: str | None) -> Day: + def by_id(cls, db_conn: DatabaseConnection, id_: str) -> Day: """Extend BaseModel.by_id checking for new/lost .todos.""" day = super().by_id(db_conn, id_) - assert day.id_ is not None if day.id_ in Todo.days_to_update: Todo.days_to_update.remove(day.id_) day.todos = Todo.by_date(db_conn, day.id_)