From 49b5b6e5bc580dac30554786f29b7fb87506f271 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 17 Nov 2011 16:20:32 +0100 Subject: [PATCH] comment on the existence of XmlElement implement __getattr__ so etree.Element methods and fields are available to XmlElement for free --- sfa/util/xml.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/sfa/util/xml.py b/sfa/util/xml.py index e0083fcb..401cd6aa 100755 --- a/sfa/util/xml.py +++ b/sfa/util/xml.py @@ -121,29 +121,26 @@ class XmlElement: else: self.element.remove(element) - def get(self, key, *args): - return self.element.get(key, *args) - - def items(self): return self.element.items() - - def set(self, key, value): - self.element.set(key, value) - def set_text(self, text): self.element.text = text + # Element does not have unset ?!? def unset(self, key): del self.element.attrib[key] - def iterchildren(self): - return self.element.iterchildren() - def toxml(self): return etree.tostring(self.element, encoding='UTF-8', pretty_print=True) def __str__(self): return self.toxml() + ### other method calls or attribute access like .text or .tag or .get + # are redirected on self.element + def __getattr__ (self, name): + if not hasattr(self.element, name): + raise AttributeError, name + return getattr(self.element, name) + class XML: def __init__(self, xml=None, namespaces=None): -- 2.43.0