2009-06-03 22:56:51 +00:00
|
|
|
from . import base
|
2009-08-31 22:46:31 +00:00
|
|
|
import queue
|
2009-06-03 22:56:51 +00:00
|
|
|
import logging
|
2009-12-11 01:29:46 +00:00
|
|
|
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)
|
2009-08-31 22:46:31 +00:00
|
|
|
self._payload = queue.Queue()
|
2009-06-03 22:56:51 +00:00
|
|
|
|
2009-08-31 22:46:31 +00:00
|
|
|
def prerun(self, payload):
|
2009-06-03 22:56:51 +00:00
|
|
|
self._payload.put(payload)
|
2009-08-31 22:46:31 +00:00
|
|
|
|
|
|
|
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)
|
2009-08-31 22:46:31 +00:00
|
|
|
except queue.Empty:
|
2009-10-19 05:27:00 +00:00
|
|
|
logging.warning("Timed out waiting for %s" % self.name)
|
2009-12-17 01:54:22 +00:00
|
|
|
return False
|
2009-06-03 22:56:51 +00:00
|
|
|
|
|
|
|
def checkDelete(self):
|
|
|
|
return True
|