From aebd115ba2a8dfab7b345dfc121ec73b5dc7a5a1 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Wed, 1 Sep 2010 14:20:34 -0400 Subject: [PATCH] A few cleanups to make things simpler. --- sleekxmpp/xmlstream/handler/waiter.py | 2 +- sleekxmpp/xmlstream/stanzabase.py | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/sleekxmpp/xmlstream/handler/waiter.py b/sleekxmpp/xmlstream/handler/waiter.py index 12827d3..1e101ed 100644 --- a/sleekxmpp/xmlstream/handler/waiter.py +++ b/sleekxmpp/xmlstream/handler/waiter.py @@ -41,7 +41,7 @@ class Waiter(BaseHandler): matcher -- A matcher object to detect the desired stanza. stream -- Optional XMLStream instance to monitor. """ - BaseHandler.__init__(self, name, matcher) + BaseHandler.__init__(self, name, matcher, stream=stream) self._payload = queue.Queue() def prerun(self, payload): diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py index 86b528d..f824200 100644 --- a/sleekxmpp/xmlstream/stanzabase.py +++ b/sleekxmpp/xmlstream/stanzabase.py @@ -594,8 +594,8 @@ class ElementBase(object): tag = components[0] attributes = components[1:] - if tag not in (self.name, "{%s}%s" % (self.namespace, self.name), - self.plugins, self.plugin_attrib): + if tag not in (self.name, "{%s}%s" % (self.namespace, self.name)) and \ + tag not in self.plugins and tag not in self.plugin_attrib: # The requested tag is not in this stanza, so no match. return False @@ -786,14 +786,11 @@ class ElementBase(object): # that do not have namespaces. namespace = ns_block.split('}')[0] elements = ns_block.split('}')[1].split('/') - elif propagate_ns: + else: # Apply the stanza's namespace to the following # elements since no namespace was provided. namespace = self.namespace elements = ns_block.split('/') - else: - # We don't want to propagate namespaces. - elements = ns_block.split('/') for element in elements: if element: