SleekXMPP/sleekxmpp/xmlstream/handler/waiter.py
2009-12-11 01:29:46 +00:00

26 lines
566 B
Python

from . import base
import queue
import logging
from .. stanzabase import StanzaBase
class Waiter(base.BaseHandler):
def __init__(self, name, matcher):
base.BaseHandler.__init__(self, name, matcher)
self._payload = queue.Queue()
def prerun(self, payload):
self._payload.put(payload)
def run(self, payload):
pass
def wait(self, timeout=60):
try:
return self._payload.get(True, timeout)
except queue.Empty:
logging.warning("Timed out waiting for %s" % self.name)
return StanzaBase(stype='error')
def checkDelete(self):
return True