Merge branch 'master' of ssh://git.planet-lab.org/git/sfa
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Thu, 10 Nov 2011 17:47:41 +0000 (12:47 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Thu, 10 Nov 2011 17:47:41 +0000 (12:47 -0500)
1  2 
sfa/util/xml.py

diff --combined sfa/util/xml.py
@@@ -40,16 -40,13 +40,16 @@@ class XpathFilter
  class XmlNode:
      def __init__(self, node, namespaces):
          self.node = node
 +        self.text = node.text
          self.namespaces = namespaces
          self.attrib = node.attrib
 +        
  
      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)
@@@ -68,9 -65,6 +68,9 @@@
              parent = element.getparent()
              parent.remove(element)
  
 +    def remove(element):
 +        self.node.remove(element)
 +
      def set(self, key, value):
          self.node.set(key, value)
      
      
      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)                    
  
@@@ -100,7 -91,7 +100,7 @@@ class XML
              self.parse_xml(xml)
          if isinstance(xml, XmlNode):
              self.root = xml
-             self.namespces = xml.namespaces
+             self.namespaces = xml.namespaces
          elif isinstance(xml, etree._ElementTree) or isinstance(xml, etree._Element):
              self.parse_xml(etree.tostring(xml))