X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/f2d008def446626c071a9ceb2c80acb74d477cd0..d66fcc9dcef74ab7cafee718cbb9fa78fec92d03:/tasklib/backends.py?ds=sidebyside diff --git a/tasklib/backends.py b/tasklib/backends.py index fe24fd2..edf9ac3 100644 --- a/tasklib/backends.py +++ b/tasklib/backends.py @@ -1,11 +1,14 @@ import abc +import datetime import json import os import re +import six import subprocess -from tasklib.filters import TaskWarriorFilter -from tasklib.serializing import local_zone +from .task import Task, TaskQuerySet +from .filters import TaskWarriorFilter +from .serializing import local_zone DATE_FORMAT_CALC = '%Y-%m-%dT%H:%M:%S' @@ -22,7 +25,10 @@ VERSION_2_4_5 = six.u('2.4.5') class Backend(object): - filter_class = TaskWarriorFilter + @abc.abstractproperty + def filter_class(self): + """Returns the TaskFilter class used by this backend""" + pass @abc.abstractmethod def filter_tasks(self, filter_obj): @@ -208,6 +214,10 @@ class TaskWarrior(object): "datetime, its type is not supported: {}" .format(type(value))) + @property + def filter_class(self): + return TaskWarriorFilter + # Public interface def get_config(self):