web/ldt/ldt_utils/projectserializer.py
changeset 137 d363fa6232b2
parent 100 c5514a2bfdcd
--- a/web/ldt/ldt_utils/projectserializer.py	Tue Dec 28 14:33:15 2010 +0100
+++ b/web/ldt/ldt_utils/projectserializer.py	Mon Jan 24 10:27:42 2011 +0100
@@ -1,12 +1,14 @@
 from datetime import datetime
 from django.utils.datastructures import SortedDict
 from ldt.ldt_utils.models import Content, Project
+from ldt.ldt_utils.utils import reduce_text_node
 import logging
 import lxml.etree
 import uuid
 
 DATE_FORMATS = ["%d/%m/%Y","%Y-%m-%d"]
 
+
 """
 Serialize a project object to a cinelab compatible array
 """
@@ -146,13 +148,9 @@
                 element_media = content.iri_id
                 element_color = element_node.attrib[u"color"]
                 
-                element_title = ""
-                for txtRes in element_node.xpath("title/text()", smart_strings=False): 
-                    element_title += txtRes
-        
-                element_description = ""
-                for txtRes in element_node.xpath("abstract/text()", smart_strings=False): 
-                    element_description += txtRes
+                element_title = reduce_text_node(element_node,"title/text()")        
+                element_description = reduce_text_node(element_node, "abstract/text()")                
+                element_twitter = reduce_text_node(element_node, "meta/twitter/text()")
                 
                 element_audio_src = ""
                 element_audio_href = ""
@@ -216,6 +214,7 @@
                             "mimetype": "audio/mp3",
                             "href": element_audio_href
                         },
+                        "polemics" :[pol_elem.text for pol_elem in element_node.xpath("meta/polemics/polemic")],
                     },
                     "tags": element_tags,
                     "meta": {
@@ -223,10 +222,13 @@
                         "dc:creator": decoupage_creator,
                         "dc:contributor": decoupage_contributor,
                         "dc:created": decoupage_created,
-                        "dc:modified": decoupage_modified
+                        "dc:modified": decoupage_modified,
                     }
                 }
                 
+                if element_twitter:
+                    new_annotation['meta']['twitter'] = element_twitter
+                
                 self.annotations_dict[element_id] = new_annotation
                 self.annotations_by_annotation_types[decoupage_id].append(new_annotation)