git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ssh://git.planet-lab.org/git/sfa
[sfa.git]
/
sfa
/
util
/
xml.py
diff --git
a/sfa/util/xml.py
b/sfa/util/xml.py
index
bdaf539
..
47de319
100755
(executable)
--- a/
sfa/util/xml.py
+++ b/
sfa/util/xml.py
@@
-40,13
+40,16
@@
class XpathFilter:
class XmlNode:
def __init__(self, node, namespaces):
self.node = node
class XmlNode:
def __init__(self, node, namespaces):
self.node = node
+ self.text = node.text
self.namespaces = namespaces
self.attrib = node.attrib
self.namespaces = namespaces
self.attrib = node.attrib
+
def xpath(self, xpath, namespaces=None):
if not namespaces:
namespaces = self.namespaces
def xpath(self, xpath, namespaces=None):
if not namespaces:
namespaces = self.namespaces
- return self.node.xpath(xpath, namespaces=namespaces)
+ elems = self.node.xpath(xpath, namespaces=namespaces)
+ return [XmlNode(elem, namespaces) for elem in elems]
def add_element(name, *args, **kwds):
element = etree.SubElement(name, args, kwds)
def add_element(name, *args, **kwds):
element = etree.SubElement(name, args, kwds)
@@
-65,6
+68,9
@@
class XmlNode:
parent = element.getparent()
parent.remove(element)
parent = element.getparent()
parent.remove(element)
+ def remove(element):
+ self.node.remove(element)
+
def set(self, key, value):
self.node.set(key, value)
def set(self, key, value):
self.node.set(key, value)
@@
-73,7
+79,10
@@
class XmlNode:
def unset(self, key):
del self.node.attrib[key]
def unset(self, key):
del self.node.attrib[key]
-
+
+ def iterchildren(self):
+ return self.node.iterchildren()
+
def toxml(self):
return etree.tostring(self.node, encoding='UTF-8', pretty_print=True)
def toxml(self):
return etree.tostring(self.node, encoding='UTF-8', pretty_print=True)