From: Tomas Babej Date: Sat, 17 Jan 2015 10:59:05 +0000 (+0100) Subject: Task: Fix incorrect timestamp serializer X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/commitdiff_plain/96ba7d696fe1ca16ac053e4d1b7403ae8604d2e1?ds=inline;hp=-c Task: Fix incorrect timestamp serializer --- 96ba7d696fe1ca16ac053e4d1b7403ae8604d2e1 diff --git a/tasklib/task.py b/tasklib/task.py index a0b3c28..8ee77fd 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -29,6 +29,18 @@ class SerializingObject(object): """ Common ancestor for TaskResource & TaskFilter, since they both need to serialize arguments. + + Serializing method should hold the following contract: + - any empty value (meaning removal of the attribute) + is deserialized into a empty string + - None denotes a empty value for any attribute + + Deserializing method should hold the following contract: + - None denotes a empty value for any attribute (however, + this is here as a safeguard, TaskWarrior currently does + not export empty-valued attributes) if the attribute + is not iterable (e.g. list or set), in which case + a empty iterable should be used. """ def _deserialize(self, key, value): @@ -43,7 +55,7 @@ class SerializingObject(object): def timestamp_serializer(self, date): if not date: - return None + return '' return date.strftime(DATE_FORMAT) def timestamp_deserializer(self, date_str):