From d148f633f3771c43c94229bfcd2104b65396f5e1 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Thu, 29 Jul 2010 11:04:21 -0400 Subject: [PATCH] Modified ElementBase _getSubText, _setSubText, and _delSubText to use the namespace in a tag name if one is given and to use self.namespace otherwise. --- sleekxmpp/xmlstream/stanzabase.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py index b8c80ffa..5b41a406 100644 --- a/sleekxmpp/xmlstream/stanzabase.py +++ b/sleekxmpp/xmlstream/stanzabase.py @@ -239,26 +239,31 @@ class ElementBase(tostring.ToString): return self.xml.attrib.get(name, '') def _getSubText(self, name): - stanza = self.xml.find("{%s}%s" % (self.namespace, name)) + if '}' not in name: + name = "{%s}%s" % (self.namespace, name) + stanza = self.xml.find(name) if stanza is None or stanza.text is None: return '' else: return stanza.text def _setSubText(self, name, attrib={}, text=None): + if '}' not in name: + name = "{%s}%s" % (self.namespace, name) if text is None or text == '': return self.__delitem__(name) - stanza = self.xml.find("{%s}%s" % (self.namespace, name)) + stanza = self.xml.find(name) if stanza is None: - #self.xml.append(ET.Element("{%s}%s" % (self.namespace, name), attrib)) - stanza = ET.Element("{%s}%s" % (self.namespace, name)) + stanza = ET.Element(name) self.xml.append(stanza) stanza.text = text return stanza def _delSub(self, name): + if '}' not in name: + name = "{%s}%s" % (self.namespace, name) for child in self.xml.getchildren(): - if child.tag == "{%s}%s" % (self.namespace, name): + if child.tag == name: self.xml.remove(child) def getStanzaValues(self):