]> git.madduck.net Git - etc/taskwarrior.git/commitdiff

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:

Merge branch 'fixes' of github.com:/tshirtman/tasklib into develop
authorTomas Babej <tomasbabej@gmail.com>
Sun, 9 Aug 2015 12:59:02 +0000 (14:59 +0200)
committerTomas Babej <tomasbabej@gmail.com>
Sun, 9 Aug 2015 12:59:02 +0000 (14:59 +0200)
1  2 
tasklib/backends.py
tasklib/task.py

diff --combined tasklib/backends.py
index 12144f58d50b419c685c25a7b400a1932d75711b,00b2210b708b9be485a2e499db240975d17f3169..32a8018acb142ddb1257e0fe3916089bde2ecf70
@@@ -1,5 -1,4 +1,5 @@@
  import abc
 +import copy
  import datetime
  import json
  import logging
@@@ -7,6 -6,7 +7,7 @@@ import o
  import re
  import six
  import subprocess
+ import copy
  
  from .task import Task, TaskQuerySet
  from .filters import TaskWarriorFilter
@@@ -16,6 -16,7 +17,7 @@@ DATE_FORMAT_CALC = '%Y-%m-%dT%H:%M:%S
  
  logger = logging.getLogger(__name__)
  
  class Backend(object):
  
      @abc.abstractproperty
@@@ -135,9 -136,9 +137,9 @@@ class TaskWarrior(Backend)
  
      def _get_version(self):
          p = subprocess.Popen(
-                 ['task', '--version'],
-                 stdout=subprocess.PIPE,
-                 stderr=subprocess.PIPE)
+             ['task', '--version'],
+             stdout=subprocess.PIPE,
+             stderr=subprocess.PIPE)
          stdout, stderr = [x.decode('utf-8') for x in p.communicate()]
          return stdout.strip('\n')
  
              if serialized_value is '':
                  escaped_serialized_value = ''
              else:
-                 escaped_serialized_value = six.u("'{0}'").format(serialized_value)
+                 escaped_serialized_value = six.u("'{0}'").format(
+                     serialized_value)
  
-             format_default = lambda task: six.u("{0}:{1}").format(field,
-                                                       escaped_serialized_value)
+             format_default = lambda task: six.u("{0}:{1}").format(
+                 field, escaped_serialized_value)
  
              format_func = getattr(self, 'format_{0}'.format(field),
                                    format_default)
  
          # Removed dependencies need to be prefixed with '-'
          return 'depends:' + ','.join(
-                 [t['uuid'] for t in added] +
-                 ['-' + t['uuid'] for t in removed]
-             )
+             [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
  
      def get_config(self):
          raw_output = self.execute_command(
-                 ['show'],
-                 config_override={'verbose': 'nothing'}
-             )
+             ['show'],
+             config_override={'verbose': 'nothing'}
+         )
  
          config = dict()
          config_regex = re.compile(r'^(?P<key>[^\s]+)\s+(?P<value>[^\s].+$)')
                  taskfilter.add_filter_param(key, value)
  
              output = self.execute_command(['export', '--'] +
-                 taskfilter.get_filter_params())
+                                           taskfilter.get_filter_params())
  
          # If more than 1 task has been matched still, raise an exception
          if not valid(output):
              raise TaskWarriorException(
                  "Unique identifiers {0} with description: {1} matches "
                  "multiple tasks: {2}".format(
-                 task['uuid'] or task['id'], task['description'], output)
+                     task['uuid'] or task['id'], task['description'], output)
              )
  
          return json.loads(output[0])
diff --combined tasklib/task.py
index 8145e2e12701add3cc9dac608d462062993972cf,c40a3c7b0445b29d24ba0224dabcbe67e9d35699..f30cc617cf9571b4e451b62c713c13094ae6861d
@@@ -1,6 -1,5 +1,5 @@@
  from __future__ import print_function
  import copy
- import datetime
  import importlib
  import json
  import logging
@@@ -76,7 -75,6 +75,6 @@@ class TaskResource(SerializingObject)
          if update_original:
              self._original_data = copy.deepcopy(self._data)
  
      def __getitem__(self, key):
          # This is a workaround to make TaskResource non-iterable
          # over simple index-based iteration
          # to pass that to TaskWarrior.
          data_tuples = filter(lambda t: t[1] is not '', data_tuples)
          data = dict(data_tuples)
-         return json.dumps(data, separators=(',',':'))
+         return json.dumps(data, separators=(',', ':'))
  
      @property
      def _modified_fields(self):
@@@ -225,7 -223,7 +223,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)
  
              # If the tasks are not saved, compare the actual instances
              return id(self) == id(other)
  
      def __hash__(self):
          if self['uuid']:
              # For saved Tasks, just define equality by equality of uuids
          else:
              self._load_data(new_data)
  
  class TaskQuerySet(object):
      """
      Represents a lazy lookup for a task objects.