slixmpp/sleekxmpp/xmlstream/handler/waiter.py

37 lines
770 B
Python
Raw Normal View History

2010-03-26 21:32:16 +00:00
"""
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2010 Nathanael C. Fritz
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
2010-03-26 21:32:16 +00:00
"""
2009-06-03 22:56:51 +00:00
from . import base
2010-01-08 06:03:02 +00:00
try:
import queue
except ImportError:
import Queue as queue
2009-06-03 22:56:51 +00:00
import logging
from .. stanzabase import StanzaBase
2009-06-03 22:56:51 +00:00
class Waiter(base.BaseHandler):
def __init__(self, name, matcher):
base.BaseHandler.__init__(self, name, matcher)
self._payload = queue.Queue()
2009-06-03 22:56:51 +00:00
def prerun(self, payload):
2009-06-03 22:56:51 +00:00
self._payload.put(payload)
def run(self, payload):
pass
2009-06-03 22:56:51 +00:00
def wait(self, timeout=60):
try:
return self._payload.get(True, timeout)
except queue.Empty:
2009-10-19 05:27:00 +00:00
logging.warning("Timed out waiting for %s" % self.name)
return False
2009-06-03 22:56:51 +00:00
def checkDelete(self):
return True