Newer
Older
class Publisher(object):
def __init__(self):
self.subscribers = dict()
def subscribe(self, who, callback=None):
if callback is None:
callback = getattr(who, 'update')
self.subscribers[who] = callback
def unsubscribe(self, who):
del self.subscribers[who]
def dispatch(self, *args):
for subscriber, callback in self.subscribers.items():
callback(*args)