]> apps.delaporte.us Git - matrix-goal-bot.git/blobdiff - goals/db.py
Add ability to complete tasks
[matrix-goal-bot.git] / goals / db.py
index 6c3c332b311859877560ce3c1f4f80b0ff69f404..2921bf044aad389cf135975d56a0729090e079f0 100644 (file)
@@ -46,6 +46,18 @@ 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
@@ -90,10 +102,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