# HG changeset patch # User ymh # Date 1296840920 -3600 # Node ID d5ffd0b5bf0d305564c3629270d9727057e34681 # Parent 2984757e6d98bee27621f598563acd6e67cdd2b8 correct project json export diff -r 2984757e6d98 -r d5ffd0b5bf0d src/ldt/ldt/ldt_utils/contentindexer.py --- a/src/ldt/ldt/ldt_utils/contentindexer.py Fri Feb 04 17:18:16 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/contentindexer.py Fri Feb 04 18:35:20 2011 +0100 @@ -1,16 +1,14 @@ import tempfile import os import os.path -import shutil from ldt.utils import zipfileext -import urllib +import urllib # import ldt.utils.log import ldt.utils.xml from django.conf import settings from models import Content import fnmatch import uuid -import shutil import lucene from ldt.ldt_utils import STORE from ldt.ldt_utils import ANALYZER diff -r 2984757e6d98 -r d5ffd0b5bf0d src/ldt/ldt/ldt_utils/projectserializer.py --- a/src/ldt/ldt/ldt_utils/projectserializer.py Fri Feb 04 17:18:16 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/projectserializer.py Fri Feb 04 18:35:20 2011 +0100 @@ -1,6 +1,6 @@ from datetime import datetime from django.utils.datastructures import SortedDict -from ldt.ldt_utils.models import Content, Project +from ldt.ldt_utils.models import Content from ldt.ldt_utils.utils import reduce_text_node import logging import lxml.etree @@ -150,7 +150,14 @@ 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_source_node_list = element_node.xpath("meta/source") + + if len(element_source_node_list) > 0: + element_source_node = element_source_node_list[0] + element_source = {"mimetype" :element_source_node.get(u'mimetype'), "url":element_source_node.get(u'url'), "content":reduce_text_node(element_source_node)} + else: + element_source = None element_audio_src = "" element_audio_href = "" @@ -226,8 +233,8 @@ } } - if element_twitter: - new_annotation['meta']['twitter'] = element_twitter + if element_source: + new_annotation['meta']['dc:source'] = element_source self.annotations_dict[element_id] = new_annotation self.annotations_by_annotation_types[decoupage_id].append(new_annotation) diff -r 2984757e6d98 -r d5ffd0b5bf0d src/ldt/ldt/ldt_utils/utils.py --- a/src/ldt/ldt/ldt_utils/utils.py Fri Feb 04 17:18:16 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/utils.py Fri Feb 04 18:35:20 2011 +0100 @@ -1,12 +1,10 @@ -import lucene -from ldt.ldt_utils import STORE -from ldt.ldt_utils import ANALYZER -import uuid +from django.conf import settings +import datetime import django.core.urlresolvers -from django.conf import settings +import lucene +import lxml.etree import urllib -import datetime -import lxml.etree +import uuid __BOOLEAN_DICT = { 'false':False, @@ -17,8 +15,13 @@ '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 reduce_text_node(element_node, xpath_str=None): + node_list = [] + if xpath_str is not None: + node_list = element_node.xpath(xpath_str, smart_strings=False) + else: + node_list = [element_node.text] + return reduce(lambda t, s: t + s,node_list , "") def boolean_convert(bool): if bool is None: @@ -93,24 +96,20 @@ if ens.tag.endswith("ensemble"): contentnode["ensembles"].append(ens.tag) - - if len(annotations_nodes) > 0: - annotations = lxml.etree.SubElement(iri, "annotations") + annotations = lxml.etree.SubElement(iri, "annotations") + if len(annotations_nodes) > 0: for content in contentList: if content.content_base.iri_id in annotations_nodes: contentnode = annotations_nodes[content.content_base.iri_id] if contentnode is not None: if len(contentnode["ensembles"]) > 0: - content = lxml.etree.SubElement(annotation, "content") + content = lxml.etree.SubElement(annotations, "content") content.set("id", contentnode["id"]) content.text = u"" else: - content = lxml.etree.SubElement(annotation, "content") + content = lxml.etree.SubElement(annotations, "content") content.set("id", contentnode["id"]) - else: - annotations = lxml.etree.SubElement(iri, "annotations") - displays = lxml.etree.SubElement(iri, "displays") if len(contentList) > 0: @@ -142,7 +141,7 @@ idas.set(u"idcut", startSegment["idcutting"]) idas.set(u"idseg", startSegment["idsegment"]) - edits = lxml.etree.SubElement(iri, "edits") + lxml.etree.SubElement(iri, "edits") doc.write(file, pretty_print=True) @@ -150,7 +149,7 @@ def generateInit(self, url, method, search=None): iri = lxml.etree.Element('iri') - impl = lxml.etree.ElementTree(iri) + lxml.etree.ElementTree(iri) elementFiles = lxml.etree.SubElement(iri, 'files') elementInit = lxml.etree.SubElement(elementFiles, 'init') @@ -167,8 +166,8 @@ elementfile.set('pict', "") elementfile.set('extra', "") - elementRecent = lxml.etree.SubElement(elementFiles, 'recent') - elementLibrary = lxml.etree.SubElement(elementFiles, 'library') + lxml.etree.SubElement(elementFiles, 'recent') + lxml.etree.SubElement(elementFiles, 'library') username = '' id = '' @@ -221,7 +220,7 @@ idsel = "" #node annotations - elementAnnotations = lxml.etree.SubElement(iri, 'annotations') + lxml.etree.SubElement(iri, 'annotations') #node displays elementDisplays = lxml.etree.SubElement(iri, 'displays') @@ -259,7 +258,7 @@ elementDecoupage.set('id', decoupage_id) #node edits - elementEdits = lxml.etree.SubElement(iri, 'edits') + lxml.etree.SubElement(iri, 'edits') #write dom in Project.ldt project.ldt = lxml.etree.tostring(iri, pretty_print=True) @@ -275,7 +274,6 @@ new_project.changed_by = user.username new_project.state = 1 - contentList = project.contents.all() """create xml""" @@ -325,8 +323,8 @@ meta_type.set(u'content', u'video') body = lxml.etree.SubElement(iri, 'body') - ensembles = lxml.etree.SubElement(body, 'ensembles') - links = lxml.etree.SubElement(body, 'links') + lxml.etree.SubElement(body, 'ensembles') + lxml.etree.SubElement(body, 'links') medias = lxml.etree.SubElement(body, 'medias') @@ -340,9 +338,9 @@ media_tool = lxml.etree.SubElement(medias, 'media') media_tool.set(u'id', u'tool') - tool = lxml.etree.SubElement(media_tool, 'tool') + lxml.etree.SubElement(media_tool, 'tool') - display = lxml.etree.SubElement(body, 'display') + lxml.etree.SubElement(body, 'display') doc.write(file, pretty_print=True)