]> git.madduck.net Git - etc/taskwarrior.git/blobdiff - tasklib/task.py

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

TaskQuerySet: Add recurring native filter
[etc/taskwarrior.git] / tasklib / task.py
index 6e3e4321c9315a10520f235fc03e804bbc490e81..c7c9e6d4bdff0b06689869683a5d7ded22b0c745 100644 (file)
@@ -15,6 +15,7 @@ PENDING = 'pending'
 COMPLETED = 'completed'
 DELETED = 'deleted'
 WAITING = 'waiting'
 COMPLETED = 'completed'
 DELETED = 'deleted'
 WAITING = 'waiting'
+RECURRING = 'recurring'
 
 logger = logging.getLogger(__name__)
 
 
 logger = logging.getLogger(__name__)
 
@@ -309,6 +310,10 @@ class Task(TaskResource):
     def pending(self):
         return self['status'] == six.text_type('pending')
 
     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
     @property
     def active(self):
         return self['start'] is not None
@@ -518,6 +523,9 @@ class TaskQuerySet(object):
     def waiting(self):
         return self.filter(status=WAITING)
 
     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.
     def filter(self, *args, **kwargs):
         """
         Returns a new TaskQuerySet with the given filters added.