--- a/web/ldt/ldt_utils/models.py Tue Dec 28 14:33:15 2010 +0100
+++ b/web/ldt/ldt_utils/models.py Mon Jan 24 10:27:42 2011 +0100
@@ -266,7 +266,7 @@
def __unicode__(self):
- return unicode(self.id) + u": " + unicode(self.ldt_id)
+ return unicode(self.id) + u"::" + unicode(self.ldt_id) + u"::" + unicode(self.title)
def get_description(self, doc=None):
--- 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)
--- a/web/ldt/ldt_utils/utils.py Tue Dec 28 14:33:15 2010 +0100
+++ b/web/ldt/ldt_utils/utils.py Mon Jan 24 10:27:42 2011 +0100
@@ -17,6 +17,9 @@
'f':False
}
+def reduce_text_node(element_node, xpath_str):
+ return reduce(lambda t, s: t+s, element_node.xpath(xpath_str, smart_strings=False), "")
+
def boolean_convert(bool):
if bool is None:
return False