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.
|
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)
|
MatcherBase.__init__(self, criteria)
|
||||||
if isinstance(criteria, str):
|
if isinstance(criteria, str):
|
||||||
self._criteria = ET.fromstring(self._criteria)
|
self._criteria = ET.fromstring(self._criteria)
|
||||||
self.default_ns = 'jabber:client'
|
self.default_ns = default_ns
|
||||||
|
|
||||||
def setDefaultNS(self, ns):
|
def setDefaultNS(self, ns):
|
||||||
"""Set the default namespace to use during comparisons.
|
"""Set the default namespace to use during comparisons.
|
||||||
|
|
|
@ -1017,8 +1017,12 @@ class XMLStream(object):
|
||||||
|
|
||||||
if name is None:
|
if name is None:
|
||||||
name = 'add_handler_%s' % self.new_id()
|
name = 'add_handler_%s' % self.new_id()
|
||||||
self.register_handler(XMLCallback(name, MatchXMLMask(mask), pointer,
|
self.register_handler(
|
||||||
once=disposable, instream=instream))
|
XMLCallback(name,
|
||||||
|
MatchXMLMask(mask, self.default_ns),
|
||||||
|
pointer,
|
||||||
|
once=disposable,
|
||||||
|
instream=instream))
|
||||||
|
|
||||||
def register_handler(self, handler, before=None, after=None):
|
def register_handler(self, handler, before=None, after=None):
|
||||||
"""Add a stream event handler that will be executed when a matching
|
"""Add a stream event handler that will be executed when a matching
|
||||||
|
|
Loading…
Reference in a new issue