From f4936467c1b535b335f6fcf5a5344e72de1437ef Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Thu, 25 Dec 2014 18:16:36 +0100 Subject: [PATCH] TaskWarrior: Detect task version --- tasklib/task.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tasklib/task.py b/tasklib/task.py index 86e98ec..9eff14c 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -12,6 +12,11 @@ REPR_OUTPUT_SIZE = 10 PENDING = 'pending' COMPLETED = 'completed' +VERSION_2_1_0 = six.u('2.1.0') +VERSION_2_2_0 = six.u('2.2.0') +VERSION_2_3_0 = six.u('2.3.0') +VERSION_2_4_0 = six.u('2.4.0') + logger = logging.getLogger(__name__) @@ -401,6 +406,7 @@ class TaskWarrior(object): 'data.location': os.path.expanduser(data_location), } self.tasks = TaskQuerySet(self) + self.version = self._get_version() def _get_command_args(self, args, config_override={}): command_args = ['task', 'rc:/'] @@ -411,6 +417,14 @@ class TaskWarrior(object): command_args.extend(map(str, args)) return command_args + def _get_version(self): + p = subprocess.Popen( + ['task', '--version'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + stdout, stderr = [x.decode('utf-8') for x in p.communicate()] + return stdout.strip('\n') + def execute_command(self, args, config_override={}): command_args = self._get_command_args( args, config_override=config_override) -- 2.39.5