mirror of
https://github.com/correl/SleekXMPP.git
synced 2024-11-24 03:00:15 +00:00
* fixed unhandled iqs
This commit is contained in:
parent
07018c0afa
commit
805afa4bc1
3 changed files with 12 additions and 13 deletions
|
@ -65,21 +65,19 @@ class Iq(StanzaBase):
|
|||
return ns
|
||||
return ''
|
||||
|
||||
def reply(self):
|
||||
self['type'] = 'result'
|
||||
StanzaBase.reply(self)
|
||||
return self
|
||||
|
||||
def delQuery(self):
|
||||
for child in self.getchildren():
|
||||
if child.tag.endswith('query'):
|
||||
self.xml.remove(child)
|
||||
return self
|
||||
|
||||
def unhandled(self):
|
||||
pass
|
||||
# returned unhandled error
|
||||
|
||||
def exception(self, traceback=None):
|
||||
pass
|
||||
|
||||
def send(self, block=True, timeout=10):
|
||||
if block:
|
||||
if block and self['type'] in ('get', 'set'):
|
||||
waitfor = Waiter('IqWait_%s' % self['id'], MatcherId(self['id']))
|
||||
self.stream.registerHandler(waitfor)
|
||||
StanzaBase.send(self)
|
||||
|
|
|
@ -214,8 +214,8 @@ class StanzaBase(ElementBase):
|
|||
def clear(self):
|
||||
for child in self.xml.getchildren():
|
||||
self.xml.remove(child)
|
||||
for plugin in self.plugins:
|
||||
del self.plugins[plugin]
|
||||
#for plugin in list(self.plugins.keys()):
|
||||
# del self.plugins[plugin]
|
||||
|
||||
def reply(self):
|
||||
self['from'], self['to'] = self['to'], self['from']
|
||||
|
|
|
@ -257,14 +257,15 @@ class XMLStream(object):
|
|||
break
|
||||
if stanza is None:
|
||||
stanza = StanzaBase(self, xmlobj)
|
||||
unhandled = True
|
||||
for handler in self.__handlers:
|
||||
if handler.match(xmlobj):
|
||||
handler.prerun(stanza)
|
||||
self.eventqueue.put(('stanza', handler, stanza))
|
||||
if handler.checkDelete(): self.__handlers.pop(self.__handlers.index(handler))
|
||||
else:
|
||||
unhandled = False
|
||||
if unhandled:
|
||||
stanza.unhandled()
|
||||
|
||||
#loop through handlers and test match
|
||||
#spawn threads as necessary, call handlers, sending Stanza
|
||||
|
||||
|
|
Loading…
Reference in a new issue