From 4c345bb2625f3584a81521043f4481ccbb06f046 Mon Sep 17 00:00:00 2001 From: xerus2000 <27jf@pm.me> Date: Thu, 28 May 2020 10:55:33 +0200 Subject: [PATCH 1/3] Serialize tags as list --- tasklib/serializing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasklib/serializing.py b/tasklib/serializing.py index 8065811..ce7b982 100644 --- a/tasklib/serializing.py +++ b/tasklib/serializing.py @@ -173,7 +173,7 @@ def deserialize_annotations(self, data): return [TaskAnnotation(self, d) for d in data] if data else [] def serialize_tags(self, tags): - return ','.join(tags) if tags else '' + return list(tags) def deserialize_tags(self, tags): if isinstance(tags, str): From 27808f7179984dc993e7fddb0fb340b0f884c823 Mon Sep 17 00:00:00 2001 From: xerus2000 <27jf@pm.me> Date: Thu, 28 May 2020 13:57:22 +0200 Subject: [PATCH 2/3] Simplify tags deserialization --- tasklib/serializing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tasklib/serializing.py b/tasklib/serializing.py index ce7b982..0564725 100644 --- a/tasklib/serializing.py +++ b/tasklib/serializing.py @@ -176,9 +176,11 @@ def serialize_tags(self, tags): return list(tags) def deserialize_tags(self, tags): + if not tags: + set() if isinstance(tags, str): - return set(tags.split(',')) if tags else set() - return set(tags or []) + return set(tags.split(',')) + return set(tags) def serialize_parent(self, parent): return parent['uuid'] if parent else '' From d912f4371ceef0c7028a63d76d2152b27cc12943 Mon Sep 17 00:00:00 2001 From: xerus2000 <27jf@pm.me> Date: Fri, 11 Sep 2020 19:13:33 +0200 Subject: [PATCH 3/3] Fix serialization of empty tag list --- tasklib/serializing.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tasklib/serializing.py b/tasklib/serializing.py index 0564725..7f46767 100644 --- a/tasklib/serializing.py +++ b/tasklib/serializing.py @@ -173,14 +173,12 @@ def deserialize_annotations(self, data): return [TaskAnnotation(self, d) for d in data] if data else [] def serialize_tags(self, tags): - return list(tags) + return list(tags or []) def deserialize_tags(self, tags): - if not tags: - set() if isinstance(tags, str): return set(tags.split(',')) - return set(tags) + return set(tags or []) def serialize_parent(self, parent): return parent['uuid'] if parent else ''