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

Task: Do not use relative import when importing backends dynamically
[etc/taskwarrior.git] / tasklib / task.py
index b9cc44771c97c2eb484b429e044fbba13673f6bc..8145e2e12701add3cc9dac608d462062993972cf 100644 (file)
@@ -225,7 +225,7 @@ class Task(TaskResource):
 
         # Create the TaskWarrior instance if none passed
         if backend is None:
-            backends = importlib.import_module('.backends')
+            backends = importlib.import_module('tasklib.backends')
             hook_parent_dir = os.path.dirname(os.path.dirname(sys.argv[0]))
             backend = backends.TaskWarrior(data_location=hook_parent_dir)
 
@@ -425,7 +425,7 @@ class TaskQuerySet(object):
     Represents a lazy lookup for a task objects.
     """
 
-    def __init__(self, backend=None, filter_obj=None):
+    def __init__(self, backend, filter_obj=None):
         self.backend = backend
         self._result_cache = None
         self.filter_obj = filter_obj or self.backend.filter_class(backend)
@@ -434,7 +434,7 @@ class TaskQuerySet(object):
         """
         Deep copy of a QuerySet doesn't populate the cache
         """
-        obj = self.__class__()
+        obj = self.__class__(backend=self.backend)
         for k, v in self.__dict__.items():
             if k in ('_iter', '_result_cache'):
                 obj.__dict__[k] = None