equal
deleted
inserted
replaced
45 "id-ref":content.iri_id, |
45 "id-ref":content.iri_id, |
46 "editable":"false" |
46 "editable":"false" |
47 } |
47 } |
48 } |
48 } |
49 |
49 |
50 self.lists.append(new_list) |
|
51 |
50 |
52 for decoupage_node in ensemble_node.childNodes: |
51 for decoupage_node in ensemble_node.childNodes: |
53 if decoupage_node.nodeType != xml.dom.Node.ELEMENT_NODE or decoupage_node.tagName != "decoupage" : |
52 if decoupage_node.nodeType != xml.dom.Node.ELEMENT_NODE or decoupage_node.tagName != "decoupage" : |
54 continue |
53 continue |
55 |
54 |
157 } |
156 } |
158 } |
157 } |
159 self.tags[tag_id] = new_tag |
158 self.tags[tag_id] = new_tag |
160 element_tags.append({"id-ref":tag_id}) |
159 element_tags.append({"id-ref":tag_id}) |
161 |
160 |
|
161 if not element_tags: |
|
162 element_tags = None |
|
163 |
162 new_annotation = { |
164 new_annotation = { |
163 "begin": element_begin, |
165 "begin": element_begin, |
164 "end": int(element_begin) + int(element_duration), |
166 "end": int(element_begin) + int(element_duration), |
165 "id": element_id, |
167 "id": element_id, |
166 "media": element_media, |
168 "media": element_media, |
173 "src" : element_audio_src, |
175 "src" : element_audio_src, |
174 "mimetype": "audio/mp3", |
176 "mimetype": "audio/mp3", |
175 "href": element_audio_href |
177 "href": element_audio_href |
176 }, |
178 }, |
177 }, |
179 }, |
|
180 "tags": element_tags, |
178 "meta": { |
181 "meta": { |
179 "id-ref": decoupage_id, |
182 "id-ref": decoupage_id, |
180 "dc:creator": decoupage_creator, |
183 "dc:creator": decoupage_creator, |
181 "dc:contributor": decoupage_contributor, |
184 "dc:contributor": decoupage_contributor, |
182 "dc:created": decoupage_created, |
185 "dc:created": decoupage_created, |
184 } |
187 } |
185 } |
188 } |
186 |
189 |
187 self.annotations.append(new_annotation) |
190 self.annotations.append(new_annotation) |
188 |
191 |
189 |
192 if not list_items: |
190 |
193 new_list["items"] = None |
|
194 self.lists.append(new_list) |
|
195 |
|
196 |
191 def __parse_ldt(self): |
197 def __parse_ldt(self): |
192 |
198 |
193 doc = xml.dom.minidom.parseString(self.project.ldt.encode("utf-8")) |
199 doc = xml.dom.minidom.parseString(self.project.ldt.encode("utf-8")) |
194 self.ldt_doc = Ft.Xml.Domlette.ConvertDocument(doc) |
200 self.ldt_doc = Ft.Xml.Domlette.ConvertDocument(doc) |
195 con = xml.xpath.Context.Context(doc, 1, 1, None) |
201 con = xml.xpath.Context.Context(doc, 1, 1, None) |
298 'dc:title':self.project.title, |
304 'dc:title':self.project.title, |
299 'dc:description':self.project.get_description(self.ldt_doc), # get from doc, parse ldt |
305 'dc:description':self.project.get_description(self.ldt_doc), # get from doc, parse ldt |
300 'main_media': {"id-ref":project_main_media} |
306 'main_media': {"id-ref":project_main_media} |
301 } |
307 } |
302 |
308 |
|
309 if not self.medias: |
|
310 self.medias = None |
|
311 |
|
312 if not self.annotation_types: |
|
313 self.annotation_types = None |
|
314 |
|
315 if len(self.tags) == 0: |
|
316 tags = None |
|
317 else: |
|
318 tags = self.tags.values() |
|
319 |
|
320 if not self.lists: |
|
321 self.lists = None |
|
322 |
|
323 if not self.views: |
|
324 self.views = None |
|
325 |
|
326 if not self.annotations: |
|
327 self.annotations = None |
|
328 |
303 res['medias'] = self.medias |
329 res['medias'] = self.medias |
304 res['annotation-types'] = self.annotation_types |
330 res['annotation-types'] = self.annotation_types |
305 res['annotations'] = self.annotations |
331 res['annotations'] = self.annotations |
306 res['lists'] = self.lists |
332 res['lists'] = self.lists |
307 res['tags'] = self.tags.values() |
333 res['tags'] = tags |
308 res['views'] = self.views # ignored for the moment |
334 res['views'] = self.views # ignored for the moment |
309 |
335 |
310 return res |
336 return res |
|
337 |