Simplified SleekTest.
* check_stanza does not require stanza_class parameter. Introspection! * check_message, check_iq, and check_presence removed -- use check instead. * stream_send_stanza, stream_send_message, stream_send_iq, and stream_send_presence removed -- use send instead. * Use recv instead of recv_message, recv_presence, etc. * check_jid instead of check_JID * stream_start may accept multi=True to return a new SleekTest instance for testing multiple streams at once.
This commit is contained in:
@@ -772,6 +772,28 @@ class XMLStream(object):
|
||||
root.clear()
|
||||
logging.debug("Ending read XML loop")
|
||||
|
||||
def _build_stanza(self, xml, default_ns=None):
|
||||
"""
|
||||
Create a stanza object from a given XML object.
|
||||
|
||||
If a specialized stanza type is not found for the XML, then
|
||||
a generic StanzaBase stanza will be returned.
|
||||
|
||||
Arguments:
|
||||
xml -- The XML object to convert into a stanza object.
|
||||
default_ns -- Optional default namespace to use instead of the
|
||||
stream's current default namespace.
|
||||
"""
|
||||
if default_ns is None:
|
||||
default_ns = self.default_ns
|
||||
stanza_type = StanzaBase
|
||||
for stanza_class in self.__root_stanza:
|
||||
if xml.tag == "{%s}%s" % (default_ns, stanza_class.name):
|
||||
stanza_type = stanza_class
|
||||
break
|
||||
stanza = stanza_type(self, xml)
|
||||
return stanza
|
||||
|
||||
def __spawn_event(self, xml):
|
||||
"""
|
||||
Analyze incoming XML stanzas and convert them into stanza
|
||||
|
||||
Reference in New Issue
Block a user