felicity-lims/felicity/core/events.py

19 lines
372 B
Python
Raw Normal View History

from typing import Callable
subscribers = dict()
def subscribe(event_type: str, fn: Callable):
if not event_type in subscribers:
subscribers[event_type] = []
subscribers[event_type].append(fn)
def post_event(event_type: str, **kwargs):
if not event_type in subscribers:
return
for fn in subscribers[event_type]:
fn(**kwargs)