X-Git-Url: https://us-delaporte.pagekite.me/gitweb/matrix-goal-bot.git/blobdiff_plain/f5b4674001d94e6aadbfbcd074fd730917e6c89d..d56541ea72dcddf4f67fdfe5d2627533265bc657:/goals/db.py diff --git a/goals/db.py b/goals/db.py index 6c3c332..8a7aff4 100644 --- a/goals/db.py +++ b/goals/db.py @@ -46,11 +46,24 @@ class Task(SQLModel, table=True): def __str__(self): return f'{self.name} ({self.id})' + +def pretty_print(goal, tasks): + results = [] + results.append(f' ## {goal}') + for task in tasks: + if(task.complete_date): + results.append(f' - [x] {task}') + else: + results.append(f' - [ ] {task}') + return results + + class Data(): def __init__(self, db_file = DB_FILE): self.file = db_file self.engine = self.get_engine() + def get_engine(self): return create_engine(f"sqlite:///{self.file}") @@ -62,13 +75,10 @@ class Data(): def print_all_visions(self): pass - def print_all_goals(self): - pass - def print_ophan_tasks(self): pass - def list_goals(self): + def get_all_goals(self): '''List all goals''' with Session(self.engine) as session: cmd = select(Goal).where(Goal.complete_date == None) @@ -90,10 +100,15 @@ class Data(): goal = session.exec(cmd).first() goal.complete_date = dt.today() session.commit() - return self.get_goal(id) def complete_task(self, id): - pass + with Session(self.engine) as session: + cmd = select(Task).where(Task.id == id) + task = session.exec(cmd).first() + task.complete_date = dt.today() + goal_id = task.goal_id + session.commit() + return goal_id def add_with_name(self, cls, name): id = -1