todos += [cls.by_id(db_conn, row[0])]
return todos
+ @property
+ def is_doable(self) -> bool:
+ """Decide whether .is_done can be set to True based on children's."""
+ for child in self.children:
+ if not child.is_done:
+ return False
+ return True
+
def add_child(self, child: Todo) -> None:
"""Add child to self.children, guard against recursion"""
def walk_steps(node: Todo) -> None: