moved seesmic branch to trunk

This commit is contained in:
Nathan Fritz
2009-06-03 22:56:51 +00:00
commit 96b103b275
44 changed files with 4041 additions and 0 deletions

View File

View File

@@ -0,0 +1,18 @@
class BaseHandler(object):
def __init__(self, name, matcher):
self.name = name
self._destroy = False
self._payload = None
self._matcher = matcher
def match(self, xml):
return self._matcher.match(xml)
def run(self, payload):
self._payload = payload
def checkDelete(self):
return self._destroy

View File

@@ -0,0 +1,20 @@
from . import base
import threading
class Callback(base.BaseHandler):
def __init__(self, name, matcher, pointer, thread=False, once=False):
base.BaseHandler.__init__(self, name, matcher)
self._pointer = pointer
self._thread = thread
self._once = once
def run(self, payload):
base.BaseHandler.run(self, payload)
if self._thread:
x = threading.Thread(name="Callback_%s" % self.name, target=self._pointer, args=(payload,))
x.start()
else:
self._pointer(payload)
if self._once:
self._destroy = True

View File

@@ -0,0 +1,21 @@
from . import base
import Queue
import logging
class Waiter(base.BaseHandler):
def __init__(self, name, matcher):
base.BaseHandler.__init__(self, name, matcher)
self._payload = Queue.Queue()
def run(self, payload):
self._payload.put(payload)
def wait(self, timeout=60):
try:
return self._payload.get(True, timeout)
except Queue.Empty:
return False
def checkDelete(self):
return True

View File

@@ -0,0 +1,7 @@
import threading
from . callback import Callback
class XMLCallback(Callback):
def run(self, payload):
Callback.run(self, payload.xml)

View File

@@ -0,0 +1,6 @@
from . waiter import Waiter
class XMLWaiter(Waiter):
def run(self, payload):
Waiter.run(self, payload.xml)