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

TaskWarrior: Respect the data location set in users taskrc
[etc/taskwarrior.git] / tasklib / task.py
index 75f218b048f28a924bc4fda9c033c3a45e31cd8f..38386efeed45fc5f0907362ed2dd3ccffbbb2db9 100644 (file)
@@ -862,8 +862,7 @@ class TaskQuerySet(object):
 
 
 class TaskWarrior(object):
 
 
 class TaskWarrior(object):
-    def __init__(self, data_location='~/.task', create=True, taskrc_location='~/.taskrc'):
-        data_location = os.path.expanduser(data_location)
+    def __init__(self, data_location=None, create=True, taskrc_location='~/.taskrc'):
         self.taskrc_location = os.path.expanduser(taskrc_location)
 
         # If taskrc does not exist, pass / to use defaults and avoid creating
         self.taskrc_location = os.path.expanduser(taskrc_location)
 
         # If taskrc does not exist, pass / to use defaults and avoid creating
@@ -871,12 +870,8 @@ class TaskWarrior(object):
         if not os.path.exists(self.taskrc_location):
             self.taskrc_location = '/'
 
         if not os.path.exists(self.taskrc_location):
             self.taskrc_location = '/'
 
-        if create and not os.path.exists(data_location):
-            os.makedirs(data_location)
-
         self.version = self._get_version()
         self.config = {
         self.version = self._get_version()
         self.config = {
-            'data.location': data_location,
             'confirmation': 'no',
             'dependency.confirmation': 'no',  # See TW-1483 or taskrc man page
             'recurrence.confirmation': 'no',  # Necessary for modifying R tasks
             'confirmation': 'no',
             'dependency.confirmation': 'no',  # See TW-1483 or taskrc man page
             'recurrence.confirmation': 'no',  # Necessary for modifying R tasks
@@ -884,6 +879,14 @@ class TaskWarrior(object):
             # arbitrary big number which is likely to be large enough
             'bulk': 0 if self.version > VERSION_2_4_3 else 100000,
         }
             # arbitrary big number which is likely to be large enough
             'bulk': 0 if self.version > VERSION_2_4_3 else 100000,
         }
+
+        # Set data.location override if passed via kwarg
+        if data_location is not None:
+            data_location = os.path.expanduser(data_location)
+            if create and not os.path.exists(data_location):
+                os.makedirs(data_location)
+            self.config['data.location'] = data_location,
+
         self.tasks = TaskQuerySet(self)
 
     def _get_command_args(self, args, config_override={}):
         self.tasks = TaskQuerySet(self)
 
     def _get_command_args(self, args, config_override={}):