X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=plomtask%2Ftodos.py;h=0b42d47b3604bb50885c4cda69dcbfb5f263afc8;hb=ac5a85f6d0186d714415ce7e2b51597bf5dca248;hp=80dc97c25ac481089b5760a0c8072af5f755ef08;hpb=87505e3be37ad7a208c8f77dc7d7631728d87fa4;p=plomtask diff --git a/plomtask/todos.py b/plomtask/todos.py index 80dc97c..0b42d47 100644 --- a/plomtask/todos.py +++ b/plomtask/todos.py @@ -19,7 +19,7 @@ class TodoStepsNode: seen: bool -class Todo(BaseModel, ConditionsRelations): +class Todo(BaseModel[int], ConditionsRelations): """Individual actionable.""" # pylint: disable=too-many-instance-attributes @@ -71,6 +71,7 @@ class Todo(BaseModel, ConditionsRelations): todo.parents += [cls.by_id(db_conn, t_id)] for name in ('conditions', 'enables', 'disables'): table = f'todo_{name}' + assert isinstance(todo.id_, int) for cond_id in db_conn.column_where(table, 'condition', 'todo', todo.id_): target = getattr(todo, name) @@ -233,7 +234,6 @@ class Todo(BaseModel, ConditionsRelations): raise NotFoundException('Process of Todo without ID (not saved?)') self.save_core(db_conn) assert isinstance(self.id_, int) - db_conn.cached_todos[self.id_] = self db_conn.rewrite_relations('todo_children', 'parent', self.id_, [[c.id_] for c in self.children]) db_conn.rewrite_relations('todo_conditions', 'todo', self.id_,