X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/f881626c51f4a954f0330ef141b1b3ff944e35df..0e45c41ab8685abd3d1954912d8bd6f8fdf6637a:/tasklib/backends.py?ds=sidebyside diff --git a/tasklib/backends.py b/tasklib/backends.py index fd3069c..1e1b8c4 100644 --- a/tasklib/backends.py +++ b/tasklib/backends.py @@ -132,7 +132,10 @@ class TaskWarrior(Backend): overrides.update(config_override or dict()) for item in overrides.items(): command_args.append('rc.{0}={1}'.format(*item)) - command_args.extend(map(six.text_type, args)) + command_args.extend([ + x.decode('utf-8') if isinstance(x, six.binary_type) + else six.text_type(x) for x in args + ]) return command_args def _get_version(self): @@ -248,7 +251,7 @@ class TaskWarrior(Backend): ) config = dict() - config_regex = re.compile(r'^(?P[^\s]+)\s+(?P[^\s].+$)') + config_regex = re.compile(r'^(?P[^\s]+)\s+(?P[^\s].*$)') for line in raw_output: match = config_regex.match(line) @@ -264,7 +267,8 @@ class TaskWarrior(Backend): return_all=False): command_args = self._get_command_args( args, config_override=config_override) - logger.debug(' '.join(command_args)) + logger.debug(u' '.join(command_args)) + p = subprocess.Popen(command_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = [x.decode('utf-8') for x in p.communicate()] @@ -273,6 +277,7 @@ class TaskWarrior(Backend): error_msg = stderr.strip() else: error_msg = stdout.strip() + error_msg += u'\nCommand used: ' + u' '.join(command_args) raise TaskWarriorException(error_msg) # Return all whole triplet only if explicitly asked for