|
|
@ -0,0 +1,25 @@ |
|
|
|
from collections import defaultdict |
|
|
|
|
|
|
|
__ALL__ = ['pub'] |
|
|
|
|
|
|
|
class PubSub(object): |
|
|
|
''' |
|
|
|
A super simplified clone of Wx.lib.pubsub since it doesn't exist on linux |
|
|
|
|
|
|
|
*grumble grumble* Stupid abandoned wx project... >:( *grumble* |
|
|
|
''' |
|
|
|
|
|
|
|
def __init__(self): |
|
|
|
self.registry = defaultdict(list) |
|
|
|
|
|
|
|
|
|
|
|
def subscribe(self, handler, event): |
|
|
|
self.registry[event].append(handler) |
|
|
|
|
|
|
|
|
|
|
|
def send_message(self, event, **kwargs): |
|
|
|
for event_handler in self.registry.get(event, []): |
|
|
|
event_handler(**kwargs) |
|
|
|
|
|
|
|
pub = PubSub() |
|
|
|
|