The original code is from line 7 to 47 in event.py.
class EventHook:
def __init__(self):
self._handlers = []
def add_listener(self, handler):
self._handlers.append(handler)
def remove_listener(self, handler):
self._handlers.remove(handler)
def fire(self, **kwargs):
for handler in self._handlers:
try:
handler(**kwargs)
except Exception:
print("error")
def on_my_event(a, b):
print("Event was fired with arguments: %s, %s" % (a, b))
# ---------- example ----------
my_event = EventHook()
my_event.add_listener(on_my_event)
my_event.fire(a="foo", b="bar")