X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=plomtask%2Ftodos.py;h=d060e230381d69dc53cacde6ab28fc37e6afefe6;hb=c2004503dc42449f1fa129b8e56eeef0a6df4712;hp=ebe35ac56bb78af42a10644c9209b34778527c0e;hpb=8f6b4ec61b126d6edbfda4f20d62398d92390a95;p=plomtask diff --git a/plomtask/todos.py b/plomtask/todos.py index ebe35ac..d060e23 100644 --- a/plomtask/todos.py +++ b/plomtask/todos.py @@ -4,12 +4,12 @@ from typing import Any from sqlite3 import Row from plomtask.db import DatabaseConnection, BaseModel from plomtask.processes import Process -from plomtask.conditions import Condition +from plomtask.conditions import Condition, ConditionsRelations from plomtask.exceptions import (NotFoundException, BadFormatException, HandledException) -class Todo(BaseModel): +class Todo(BaseModel, ConditionsRelations): """Individual actionable.""" # pylint: disable=too-many-instance-attributes @@ -134,25 +134,6 @@ class Todo(BaseModel): for condition in self.disables: condition.is_active = False - def set_disables(self, db_conn: DatabaseConnection, - ids: list[int]) -> None: - """Set self.disables to Conditions identified by ids.""" - self.set_conditions(db_conn, ids, 'disables') - - def set_enables(self, db_conn: DatabaseConnection, - ids: list[int]) -> None: - """Set self.enables to Conditions identified by ids.""" - self.set_conditions(db_conn, ids, 'enables') - - def set_conditions(self, db_conn: DatabaseConnection, ids: list[int], - target: str = 'conditions') -> None: - """Set self.[target] to Conditions identified by ids.""" - target_list = getattr(self, target) - while len(target_list) > 0: - target_list.pop() - for id_ in ids: - target_list += [Condition.by_id(db_conn, id_)] - def add_child(self, child: Todo) -> None: """Add child to self.children, guard against recursion""" def walk_steps(node: Todo) -> None: