format_default = lambda: six.u("{0}:{1}").format(field,
escaped_serialized_value)
- format_func = getattr(task, 'format_{0}'.format(field),
+ format_func = getattr(self, 'format_{0}'.format(field),
format_default)
- args.append(format_func())
+ args.append(format_func(task))
# If we're modifying saved task, simply pass on all modified fields
if task.saved:
return args
+ def format_depends(self, task):
+ # We need to generate added and removed dependencies list,
+ # since Taskwarrior does not accept redefining dependencies.
+
+ # This cannot be part of serialize_depends, since we need
+ # to keep a list of all depedencies in the _data dictionary,
+ # not just currently added/removed ones
+
+ old_dependencies = task._original_data.get('depends', set())
+
+ added = self['depends'] - old_dependencies
+ removed = old_dependencies - self['depends']
+
+ # Removed dependencies need to be prefixed with '-'
+ return 'depends:' + ','.join(
+ [t['uuid'] for t in added] +
+ ['-' + t['uuid'] for t in removed]
+ )
+
+ def format_description(self, task):
+ # Task version older than 2.4.0 ignores first word of the
+ # task description if description: prefix is used
+ if self.version < VERSION_2_4_0:
+ return task._data['description']
+ else:
+ return six.u("description:'{0}'").format(task._data['description'] or '')
+
+
+ # Public interface
def get_config(self):
raw_output = self.execute_command(
return super(Task, self).serialize_depends(cur_dependencies)
- def format_depends(self):
- # We need to generate added and removed dependencies list,
- # since Taskwarrior does not accept redefining dependencies.
-
- # This cannot be part of serialize_depends, since we need
- # to keep a list of all depedencies in the _data dictionary,
- # not just currently added/removed ones
-
- old_dependencies = self._original_data.get('depends', set())
-
- added = self['depends'] - old_dependencies
- removed = old_dependencies - self['depends']
-
- # Removed dependencies need to be prefixed with '-'
- return 'depends:' + ','.join(
- [t['uuid'] for t in added] +
- ['-' + t['uuid'] for t in removed]
- )
-
- def format_description(self):
- # Task version older than 2.4.0 ignores first word of the
- # task description if description: prefix is used
- if self.warrior.version < VERSION_2_4_0:
- return self._data['description']
- else:
- return six.u("description:'{0}'").format(self._data['description'] or '')
-
def delete(self):
if not self.saved:
raise Task.NotSaved("Task needs to be saved before it can be deleted")