diff -r a6c4ea119b80 -r eac14c3ae625 web/ldt/ldt_utils/utils.py --- 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()