--- a/web/ldt/ldt_utils/utils.py Mon Jun 14 15:23:07 2010 +0200
+++ b/web/ldt/ldt_utils/utils.py Tue Jun 15 00:25:30 2010 +0200
@@ -10,9 +10,8 @@
import xml.dom.minidom
import xml.dom.ext
import xml.xpath
-import os
-import os.path
import datetime
+import Ft
class LdtSearch(object):
@@ -277,6 +276,7 @@
writer.simpleElement(u'meta', attributes={u'name':u'id', 'content':unicode(content.iri_id)})
writer.simpleElement(u'meta', attributes={u'name':u'title', 'content':unicode(content.title)})
+ writer.simpleElement(u'meta', attributes={u'name':u'abstract', 'content':unicode(content.description)})
writer.simpleElement(u'meta', attributes={u'name':u'author', 'content':unicode(username)})
writer.simpleElement(u'meta', attributes={u'name':u'contributor', 'content':unicode(username)})
writer.simpleElement(u'meta', attributes={u'name':u'date', 'content':unicode(datetime.date.today().isoformat())})
@@ -294,7 +294,7 @@
writer.startElement(u"medias")
writer.startElement(u"media", attributes={u'id':u'video'})
- writer.simpleElement(u'video', attributes={u'src':unicode(content.src),u'id':unicode(uuid.uuid1()),u'dur':unicode(content.duration),u'begin':u'0'})
+ writer.simpleElement(u'video', attributes={u'src':unicode(content.src),u'id':unicode(content.iri_id),u'dur':unicode(content.duration),u'begin':u'0'})
writer.endElement(u"media")
writer.startElement(u"media", attributes={u'id':u'tool'})
@@ -312,3 +312,43 @@
writer.endElement(u"iri")
writer.endDocument()
+def update_iri(filepath, content, username):
+
+ # open xml
+ doc = xml.dom.minidom.parse(filepath)
+ doc = Ft.Xml.Domlette.ConvertDocument(doc)
+
+ con = xml.xpath.Context.Context(doc, 1, 1, None)
+ res = xml.xpath.Evaluate("/iri/heqd/meta", context=con)
+ # update meta
+
+ for meta_node in res:
+ meta_name = meta_node.getAttributeNS(None,"name")
+ content_attr = None
+ if meta_name == u'id':
+ content_attr = unicode(content.iri_id)
+ elif meta_name == u'title':
+ content_attr = unicode(content.title)
+ elif meta_name == u'abstract':
+ content_attr = unicode(content.description)
+ elif meta_name == u'contributor':
+ content_attr = unicode(username)
+ elif meta_name == u"date":
+ content_attr = unicode(datetime.date.today().isoformat())
+ if content_attr is not None:
+ meta_node.setAttributeNS(None, u"content", content_attr)
+
+ res = xml.xpath.Evaluate("/iri/body/medias/media[@id='video']/video", context=con)
+
+ if len(res) > 0:
+ video_node = res[0]
+ video_node.setAttributeNS(None, u'src', unicode(content.src))
+ video_node.setAttributeNS(None, u'dur', unicode(content.duration))
+ video_node.setAttributeNS(None, u'id', unicode(content.iri_id))
+ # update video
+
+ f = open(filepath, "w")
+ try:
+ xml.dom.ext.Print(doc, stream=f)
+ finally:
+ f.close()