]> apps.delaporte.us Git - matrix-goal-bot.git/blobdiff - matrix_goal_bot/bot.py
Allow completion of multiple tasks
[matrix-goal-bot.git] / matrix_goal_bot / bot.py
index 9e0b87839a8f2c75d8efb964f74b66c01ebc89d0..3b4f2406cba7eb7819d5ff94cf01e1fce2ee10ce 100644 (file)
@@ -47,6 +47,7 @@ async def do_goal(match):
       print-vision ID - print a vision and all goals
       set-vision GOAL_ID VISION_ID- associate GOAL_ID with VISION_ID
       visions - list incomplete visions
       print-vision ID - print a vision and all goals
       set-vision GOAL_ID VISION_ID- associate GOAL_ID with VISION_ID
       visions - list incomplete visions
+      visionless - list goals with no set vision
     '''
 
     if match.command('setup'):
     '''
 
     if match.command('setup'):
@@ -117,8 +118,10 @@ async def do_goal(match):
         return results
 
     if match.command('done'):
         return results
 
     if match.command('done'):
-        task_id = int(match.args()[1])
-        goal_id = Data().complete_task(task_id)
+        ids = match.args()[1:]
+        for task_id in ids:
+            goal_id = Data().complete_task(int(task_id))
+        # Print the goal of the last closed task
         goal,tasks = Data().get_goal(goal_id)
         results = pretty_print(goal, tasks)
         return results
         goal,tasks = Data().get_goal(goal_id)
         results = pretty_print(goal, tasks)
         return results
@@ -160,6 +163,16 @@ async def do_goal(match):
         results = pretty_print(vision, goals)
         return results
 
         results = pretty_print(vision, goals)
         return results
 
+
+    if match.command('rename'):
+        goal_id = int(match.args()[1])
+        name = ' '.join(match.args()[2:])
+        Data().rename_goal(goal_id=goal_id, name=name)
+        goal,tasks = Data().get_goal(goal_id)
+        results = pretty_print(goal, tasks)
+        return results
+
+    # Help text
     return [do_goal.__doc__]
 
 async def goal_bot(room, message, bot):
     return [do_goal.__doc__]
 
 async def goal_bot(room, message, bot):
@@ -178,5 +191,7 @@ async def goal_bot(room, message, bot):
         line ='Ye cannot get ye flask.'
         await bot.api.send_text_message(
                     room.room_id, str(line))
         line ='Ye cannot get ye flask.'
         await bot.api.send_text_message(
                     room.room_id, str(line))
+        await bot.api.send_text_message(
+                    room.room_id, str(ex))