X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/4f562190992dbfb95af3dee41a1ba9b288690536..2075cf84f9472e28f3229351c85cb1086dd713c1:/tasklib/task.py diff --git a/tasklib/task.py b/tasklib/task.py index 0283f6f..e448b04 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -704,7 +704,7 @@ class TaskFilter(SerializingObject): attribute_key = key.split('.')[0] # Since this is user input, we need to normalize before we serialize - value = self._normalize(key, value) + value = self._normalize(attribute_key, value) value = self._serialize(attribute_key, value) # If we are filtering by uuid:, do not use uuid keyword @@ -842,12 +842,20 @@ class TaskQuerySet(object): class TaskWarrior(object): - def __init__(self, data_location='~/.task', create=True): + def __init__(self, data_location='~/.task', create=True, taskrc_location='~/.taskrc'): data_location = os.path.expanduser(data_location) + self.taskrc_location = os.path.expanduser(taskrc_location) + + # If taskrc does not exist, pass / to use defaults and avoid creating + # dummy .taskrc file by TaskWarrior + 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.config = { - 'data.location': os.path.expanduser(data_location), + 'data.location': data_location, 'confirmation': 'no', 'dependency.confirmation': 'no', # See TW-1483 or taskrc man page 'recurrence.confirmation': 'no', # Necessary for modifying R tasks @@ -856,7 +864,7 @@ class TaskWarrior(object): self.version = self._get_version() def _get_command_args(self, args, config_override={}): - command_args = ['task', 'rc:/'] + command_args = ['task', 'rc:{0}'.format(self.taskrc_location)] config = self.config.copy() config.update(config_override) for item in config.items():