]> git.madduck.net Git - etc/taskwarrior.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

TaskResource: Do not serialize annotations as a list in a string
authorTomas Babej <tomasbabej@gmail.com>
Wed, 21 Jan 2015 06:51:02 +0000 (07:51 +0100)
committerTomas Babej <tomasbabej@gmail.com>
Wed, 21 Jan 2015 10:51:02 +0000 (11:51 +0100)
tasklib/task.py
tasklib/tests.py

index d386f82faf32cd7e1152afc2d884e6aa82e646dc..a273815e72befb208a6c144dbe3d706c64f24cbd 100644 (file)
@@ -101,12 +101,12 @@ class SerializingObject(object):
 
     def serialize_annotations(self, value):
         value = value if value is not None else []
 
     def serialize_annotations(self, value):
         value = value if value is not None else []
-        serialized_annotations = [annotation.export_data() for annotation in value]
 
 
-        if serialized_annotations:
-            return '[' + ','.join(serialized_annotations) + ']'
-        else:
-            return ''
+        # This may seem weird, but it's correct, we want to export
+        # a list of dicts as serialized value
+        serialized_annotations = [json.loads(annotation.export_data())
+                                  for annotation in value]
+        return serialized_annotations if serialized_annotations else ''
 
     def deserialize_annotations(self, data):
         return [TaskAnnotation(self, d) for d in data] if data else []
 
     def deserialize_annotations(self, data):
         return [TaskAnnotation(self, d) for d in data] if data else []
index 686e0868b352e7e9fcd21d41e3fb527aeaaa95db..3a3f25dac5be66c66c046162dd9a3313eca6fae4 100644 (file)
@@ -595,7 +595,7 @@ class AnnotationTest(TasklibTest):
         t.add_annotation("annotation1")
         t.add_annotation("annotation2")
 
         t.add_annotation("annotation1")
         t.add_annotation("annotation2")
 
-        data = json.loads(t._serialize('annotations', t._data['annotations']))
+        data = t._serialize('annotations', t._data['annotations'])
 
         self.assertEqual(len(data), 2)
         self.assertEqual(type(data[0]), dict)
 
         self.assertEqual(len(data), 2)
         self.assertEqual(type(data[0]), dict)