home
·
contact
·
privacy
projects
/
plomtask
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add Todo.parents.
[plomtask]
/
plomtask
/
todos.py
diff --git
a/plomtask/todos.py
b/plomtask/todos.py
index 7faea73b74df9c4b5a8f68f6dceced09f27c9b67..e8e00acbd8cd77d58d7d99ce2d0551288ffb96f4 100644
(file)
--- a/
plomtask/todos.py
+++ b/
plomtask/todos.py
@@
-18,6
+18,7
@@
class Todo:
self.is_done = is_done
self.day = day
self.children: list[Todo] = []
self.is_done = is_done
self.day = day
self.children: list[Todo] = []
+ self.parents: list[Todo] = []
@classmethod
def from_table_row(cls, db_conn: DatabaseConnection, row: Row) -> Todo:
@classmethod
def from_table_row(cls, db_conn: DatabaseConnection, row: Row) -> Todo:
@@
-46,6
+47,9
@@
class Todo:
for row in db_conn.exec('SELECT child FROM todo_children '
'WHERE parent = ?', (id_,)):
todo.children += [cls.by_id(db_conn, row[0])]
for row in db_conn.exec('SELECT child FROM todo_children '
'WHERE parent = ?', (id_,)):
todo.children += [cls.by_id(db_conn, row[0])]
+ for row in db_conn.exec('SELECT parent FROM todo_children '
+ 'WHERE child = ?', (id_,)):
+ todo.parents += [cls.by_id(db_conn, row[0])]
assert isinstance(todo, Todo)
return todo
assert isinstance(todo, Todo)
return todo
@@
-72,6
+76,7
@@
class Todo:
raise BadFormatException('cannot adopt same child twice')
walk_steps(child)
self.children += [child]
raise BadFormatException('cannot adopt same child twice')
walk_steps(child)
self.children += [child]
+ child.parents += [self]
def save(self, db_conn: DatabaseConnection) -> None:
"""Write self and children to DB and its cache."""
def save(self, db_conn: DatabaseConnection) -> None:
"""Write self and children to DB and its cache."""