]> git.madduck.net Git - etc/taskwarrior.git/commitdiff

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:

TaskFilter: Implement workaround around TW-1479
authorTomas Babej <tomasbabej@gmail.com>
Sat, 3 Jan 2015 22:53:55 +0000 (23:53 +0100)
committerTomas Babej <tomasbabej@gmail.com>
Sat, 3 Jan 2015 23:13:51 +0000 (00:13 +0100)
tasklib/task.py

index b1af4f743014a25ad33a73cbe5ee64e5f759b5d9..7d1bbe4b1fffdb23b90c990cca5ac7edf66762c8 100644 (file)
@@ -433,9 +433,15 @@ class TaskFilter(SerializingObject):
         if key == 'uuid':
             self.filter_params.insert(0, value)
         else:
         if key == 'uuid':
             self.filter_params.insert(0, value)
         else:
-            # We enforce equality match by using is keyword
-            # Also, without using this syntax, filter fails due to TW-1479
-            self.filter_params.append("{0}.is:'{1}'".format(key, value))
+            # Surround value with aphostrophes unless it's a empty string
+            value = "'%s'" % value if value else ''
+
+            # We enforce equality match by using 'is' (or 'none') modifier
+            # Without using this syntax, filter fails due to TW-1479
+            modifier = '.is' if value else '.none'
+            key = key + modifier if '.' not in key else key
+
+            self.filter_params.append("{0}:{1}".format(key, value))
 
     def get_filter_params(self):
         return [f for f in self.filter_params if f]
 
     def get_filter_params(self):
         return [f for f in self.filter_params if f]