]> 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:

Fix various import issues
[etc/taskwarrior.git] / tasklib / task.py
index 2b5ca69a33de9a22774a05fe3da9b2735d837322..18acfe58995203db2efbdf80c397055821046274 100644 (file)
@@ -1,14 +1,14 @@
 from __future__ import print_function
 import copy
 import datetime
+import importlib
 import json
 import logging
 import os
 import six
 import sys
 
-from backends import TaskWarrior, TaskWarriorException
-from serializing import SerializingObject
+from .serializing import SerializingObject
 
 DATE_FORMAT = '%Y%m%dT%H%M%SZ'
 REPR_OUTPUT_SIZE = 10
@@ -225,8 +225,9 @@ class Task(TaskResource):
 
         # Create the TaskWarrior instance if none passed
         if warrior is None:
+            backends = importlib.import_module('.backends')
             hook_parent_dir = os.path.dirname(os.path.dirname(sys.argv[0]))
-            warrior = TaskWarrior(data_location=hook_parent_dir)
+            warrior = backends.TaskWarrior(data_location=hook_parent_dir)
 
         # TaskWarrior instance is set to None
         task = cls(warrior)
@@ -427,7 +428,7 @@ class TaskQuerySet(object):
     def __init__(self, warrior=None, filter_obj=None):
         self.warrior = warrior
         self._result_cache = None
-        self.filter_obj = filter_obj or TaskWarriorFilter(warrior)
+        self.filter_obj = filter_obj or self.warrior.filter_class(warrior)
 
     def __deepcopy__(self, memo):
         """