--- a/web/ldt/ldt_utils/utils.py Fri Aug 06 17:19:37 2010 +0200
+++ b/web/ldt/ldt_utils/utils.py Thu Aug 19 12:15:27 2010 +0200
@@ -12,6 +12,7 @@
import xml.xpath
import datetime
import Ft
+import lxml.etree
class LdtSearch(object):
@@ -315,15 +316,13 @@
def update_iri(filepath, content, username):
# open xml
- doc = xml.dom.minidom.parse(filepath)
- doc = Ft.Xml.Domlette.ConvertDocument(doc)
+ doc = lxml.etree.parse(filepath)
- con = xml.xpath.Context.Context(doc, 1, 1, None)
- res = xml.xpath.Evaluate("/iri/heqd/meta", context=con)
+ res = doc.xpath("/iri/heqd/meta")
# update meta
for meta_node in res:
- meta_name = meta_node.getAttributeNS(None,"name")
+ meta_name = meta_node.get("name")
content_attr = None
if meta_name == u'id':
content_attr = unicode(content.iri_id)
@@ -336,19 +335,19 @@
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)
+ meta_node.set(u"content", content_attr)
- res = xml.xpath.Evaluate("/iri/body/medias/media[@id='video']/video", context=con)
+ res = doc.xpath("/iri/body/medias/media[@id='video']/video")
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))
+ video_node.set(u'src', unicode(content.src))
+ video_node.set(u'dur', unicode(content.duration))
+ video_node.set(u'id', unicode(content.iri_id))
# update video
f = open(filepath, "w")
try:
- xml.dom.ext.Print(doc, stream=f)
+ doc.write(f, encoding="UTF-8", pretty_print=True, xml_declaration=True)
finally:
f.close()