X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/63bcc1eedbf3b4e6180d28c17035c964cf6a6b3f..530c5191d448a5d902d2d7f99fa18d3f58ce7551:/tasklib/backends.py?ds=inline diff --git a/tasklib/backends.py b/tasklib/backends.py index fa5ce86..6e7d918 100644 --- a/tasklib/backends.py +++ b/tasklib/backends.py @@ -7,7 +7,6 @@ import os import re import six import subprocess -import copy from .task import Task, TaskQuerySet, ReadOnlyDictView from .filters import TaskWarriorFilter @@ -76,7 +75,7 @@ class Backend(object): Converts TW syntax datetime string to a localized datetime object. This method is not mandatory. """ - raise NotImplemented + raise NotImplementedError class TaskWarriorException(Exception): @@ -299,7 +298,7 @@ class TaskWarrior(Backend): def filter_tasks(self, filter_obj): self.enforce_recurrence() - args = ['export', '--'] + filter_obj.get_filter_params() + args = ['export'] + filter_obj.get_filter_params() tasks = [] for line in self.execute_command(args): if line: @@ -324,8 +323,10 @@ class TaskWarrior(Backend): id_lines = [l for l in output if l.startswith('Created task ')] # Complain loudly if it seems that more tasks were created - # Should not happen - if len(id_lines) != 1 or len(id_lines[0].split(' ')) != 3: + # Should not happen. + # Expected output: Created task 1. + # Created task 1 (recurrence template). + if len(id_lines) != 1 or len(id_lines[0].split(' ')) not in (3, 5): raise TaskWarriorException("Unexpected output when creating " "task: %s" % '\n'.join(id_lines)) @@ -393,7 +394,7 @@ class TaskWarrior(Backend): for key, value in data.items(): taskfilter.add_filter_param(key, value) - output = self.execute_command(['export', '--'] + + output = self.execute_command(['export'] + taskfilter.get_filter_params()) # If more than 1 task has been matched still, raise an exception