From 42baab3573bc84a4663c538afb0280787db952f1 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Thu, 6 Aug 2015 04:18:29 +0200 Subject: [PATCH] SerializingObject: Add ability to decode dependencies in the form of a list --- tasklib/task.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tasklib/task.py b/tasklib/task.py index 708c9c7..ba95662 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -237,8 +237,15 @@ class SerializingObject(object): return ','.join(task['uuid'] for task in value) def deserialize_depends(self, raw_uuids): - raw_uuids = raw_uuids or '' # Convert None to empty string - uuids = raw_uuids.split(',') + raw_uuids = raw_uuids or [] # Convert None to empty list + + # TW 2.4.4 encodes list of dependencies as a single string + if type(raw_uuids) is not list: + uuids = raw_uuids.split(',') + # TW 2.4.5 and later exports them as a list, no conversion needed + else: + uuids = raw_uuids + return set(self.warrior.tasks.get(uuid=uuid) for uuid in uuids if uuid) def datetime_normalizer(self, value): -- 2.39.5