Make XMLMasks match properly for components.
This commit is contained in:
parent
0a2737dc77
commit
7ac75de19d
2 changed files with 8 additions and 4 deletions
|
@ -37,11 +37,11 @@ class MatchXMLMask(MatcherBase):
|
|||
object or XML string to use as a mask.
|
||||
"""
|
||||
|
||||
def __init__(self, criteria):
|
||||
def __init__(self, criteria, default_ns='jabber:client'):
|
||||
MatcherBase.__init__(self, criteria)
|
||||
if isinstance(criteria, str):
|
||||
self._criteria = ET.fromstring(self._criteria)
|
||||
self.default_ns = 'jabber:client'
|
||||
self.default_ns = default_ns
|
||||
|
||||
def setDefaultNS(self, ns):
|
||||
"""Set the default namespace to use during comparisons.
|
||||
|
|
|
@ -1017,8 +1017,12 @@ class XMLStream(object):
|
|||
|
||||
if name is None:
|
||||
name = 'add_handler_%s' % self.new_id()
|
||||
self.register_handler(XMLCallback(name, MatchXMLMask(mask), pointer,
|
||||
once=disposable, instream=instream))
|
||||
self.register_handler(
|
||||
XMLCallback(name,
|
||||
MatchXMLMask(mask, self.default_ns),
|
||||
pointer,
|
||||
once=disposable,
|
||||
instream=instream))
|
||||
|
||||
def register_handler(self, handler, before=None, after=None):
|
||||
"""Add a stream event handler that will be executed when a matching
|
||||
|
|
Loading…
Reference in a new issue