From: Tomas Babej Date: Thu, 25 Dec 2014 17:16:36 +0000 (+0100) Subject: TaskWarrior: Detect task version X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/commitdiff_plain/f4936467c1b535b335f6fcf5a5344e72de1437ef?ds=sidebyside;hp=71b09c9d8f0af7799bbe634dfdafccb08e7d9f00 TaskWarrior: Detect task version --- 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)