X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/a10758cb58d167e4f733a7b52cf0aba0e07781f1..b2a271c051fedf8a9d2b254d2c1a242a2f32750f:/tasklib/task.py?ds=inline diff --git a/tasklib/task.py b/tasklib/task.py index 004ed90..6392b9e 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -359,7 +359,7 @@ class Task(TaskResource): def remove_annotation(self, annotation): if not self.saved: - raise Task.NotSaved("Task needs to be saved to add annotation") + raise Task.NotSaved("Task needs to be saved to remove annotation") if isinstance(annotation, TaskAnnotation): annotation = annotation['description'] @@ -433,7 +433,15 @@ class TaskFilter(SerializingObject): if key == 'uuid': self.filter_params.insert(0, value) else: - self.filter_params.append("{0}:'{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] @@ -562,6 +570,7 @@ class TaskWarrior(object): self.config = { 'data.location': os.path.expanduser(data_location), 'confirmation': 'no', + 'dependency.confirmation': 'no', # See TW-1483 or taskrc man page } self.tasks = TaskQuerySet(self) self.version = self._get_version()