--- a/web/ldt/ldt_utils/projectserializer.py Thu Jun 10 20:49:13 2010 +0200
+++ b/web/ldt/ldt_utils/projectserializer.py Fri Jun 11 00:17:30 2010 +0200
@@ -47,7 +47,6 @@
}
}
- self.lists.append(new_list)
for decoupage_node in ensemble_node.childNodes:
if decoupage_node.nodeType != xml.dom.Node.ELEMENT_NODE or decoupage_node.tagName != "decoupage" :
@@ -159,6 +158,9 @@
self.tags[tag_id] = new_tag
element_tags.append({"id-ref":tag_id})
+ if not element_tags:
+ element_tags = None
+
new_annotation = {
"begin": element_begin,
"end": int(element_begin) + int(element_duration),
@@ -175,6 +177,7 @@
"href": element_audio_href
},
},
+ "tags": element_tags,
"meta": {
"id-ref": decoupage_id,
"dc:creator": decoupage_creator,
@@ -186,8 +189,11 @@
self.annotations.append(new_annotation)
+ if not list_items:
+ new_list["items"] = None
+ self.lists.append(new_list)
-
+
def __parse_ldt(self):
doc = xml.dom.minidom.parseString(self.project.ldt.encode("utf-8"))
@@ -300,11 +306,32 @@
'main_media': {"id-ref":project_main_media}
}
+ if not self.medias:
+ self.medias = None
+
+ if not self.annotation_types:
+ self.annotation_types = None
+
+ if len(self.tags) == 0:
+ tags = None
+ else:
+ tags = self.tags.values()
+
+ if not self.lists:
+ self.lists = None
+
+ if not self.views:
+ self.views = None
+
+ if not self.annotations:
+ self.annotations = None
+
res['medias'] = self.medias
res['annotation-types'] = self.annotation_types
res['annotations'] = self.annotations
res['lists'] = self.lists
- res['tags'] = self.tags.values()
+ res['tags'] = tags
res['views'] = self.views # ignored for the moment
- return res
\ No newline at end of file
+ return res
+