From: Tony Mack Date: Fri, 11 Nov 2011 02:27:48 +0000 (-0500) Subject: fix XML.add_element X-Git-Tag: sfa-1.1-3~50 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=64fa200fcd1b65f39aa4a8f27f28a4e190b191fa fix XML.add_element --- diff --git a/sfa/util/xml.py b/sfa/util/xml.py index 47de319c..8a3bcbb7 100755 --- a/sfa/util/xml.py +++ b/sfa/util/xml.py @@ -51,8 +51,8 @@ class XmlNode: 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(self, name, **kwds): + element = etree.SubElement(self.node, name, **kwds) return XmlNode(element, self.namespaces) def remove_elements(name): @@ -204,21 +204,15 @@ class XML: node.remove_attribute(name) - def add_element(self, name, attrs={}, parent=None, text=""): + def add_element(self, name, **kwds): """ Wrapper around etree.SubElement(). Adds an element to specified parent node. Adds element to root node is parent is not specified. """ - if parent == None: - parent = self.root - element = etree.SubElement(parent, name) - if text: - element.text = text - if isinstance(attrs, dict): - for attr in attrs: - element.set(attr, attrs[attr]) - return XmlNode(element, self.namespaces) + parent = self.root + xmlnode = parent.add_element(name, *kwds) + return xmlnode def remove_elements(self, name, node = None): """