X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/f58549e864220709de81b141b0343195e70fc6f5..97eff0b3747614feaf9522d1338106ac98978c40:/tasklib/task.py diff --git a/tasklib/task.py b/tasklib/task.py index 6e3e432..c97aee8 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -15,6 +15,7 @@ PENDING = 'pending' COMPLETED = 'completed' DELETED = 'deleted' WAITING = 'waiting' +RECURRING = 'recurring' logger = logging.getLogger(__name__) @@ -309,6 +310,10 @@ class Task(TaskResource): def pending(self): return self['status'] == six.text_type('pending') + @property + def recurring(self): + return self['status'] == six.text_type('recurring') + @property def active(self): return self['start'] is not None @@ -328,7 +333,8 @@ class Task(TaskResource): def delete(self): if not self.saved: - raise Task.NotSaved("Task needs to be saved before it can be deleted") + raise Task.NotSaved( + "Task needs to be saved before it can be deleted") # Refresh the status, and raise exception if the task is deleted self.refresh(only_fields=['status']) @@ -343,7 +349,8 @@ class Task(TaskResource): def start(self): if not self.saved: - raise Task.NotSaved("Task needs to be saved before it can be started") + 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']) @@ -362,7 +369,8 @@ class Task(TaskResource): def stop(self): if not self.saved: - raise Task.NotSaved("Task needs to be saved before it can be stopped") + raise Task.NotSaved( + "Task needs to be saved before it can be stopped") # Refresh, and raise exception if task is already completed/deleted self.refresh(only_fields=['status']) @@ -377,7 +385,8 @@ class Task(TaskResource): def done(self): if not self.saved: - raise Task.NotSaved("Task needs to be saved before it can be completed") + raise Task.NotSaved( + "Task needs to be saved before it can be completed") # Refresh, and raise exception if task is already completed/deleted self.refresh(only_fields=['status']) @@ -518,6 +527,9 @@ class TaskQuerySet(object): def waiting(self): return self.filter(status=WAITING) + def recurring(self): + return self.filter(status=RECURRING) + def filter(self, *args, **kwargs): """ Returns a new TaskQuerySet with the given filters added.