From: Tomas Babej Date: Fri, 20 Feb 2015 16:42:09 +0000 (+0100) Subject: Task: Add support for start command X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/commitdiff_plain/889016582fe4e327b954f3f6959bf6d0fc3304bd?ds=sidebyside;hp=--cc Task: Add support for start command --- 889016582fe4e327b954f3f6959bf6d0fc3304bd diff --git a/tasklib/task.py b/tasklib/task.py index e8e5dfd..dc83e97 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -534,6 +534,22 @@ class Task(TaskResource): # Refresh the status again, so that we have updated info stored self.refresh(only_fields=['status']) + def start(self): + if not self.saved: + raise Task.NotSaved("Task needs to be saved before it can be started") + + # Refresh, and raise exception if task is already completed/deleted + self.refresh(only_fields=['status']) + + if self.completed: + raise Task.CompletedTask("Cannot start a completed task") + elif self.deleted: + raise Task.DeletedTask("Deleted task cannot be started") + + self.warrior.execute_command([self['uuid'], 'start']) + + # Refresh the status again, so that we have updated info stored + self.refresh(only_fields=['status']) def done(self): if not self.saved: