sp-hydra-veil-core/core/observers/BaseObserver.py
2024-09-11 19:39:33 +02:00

25 lines
510 B
Python

from core.models.Event import Event
class BaseObserver:
def subscribe(self, topic, callback):
callbacks = getattr(self, 'on_' + topic, None)
if callbacks is None:
return
callbacks.append(callback)
def notify(self, topic, subject = None, meta = None):
callbacks = getattr(self, 'on_' + topic, None)
if callbacks is None:
return
event = Event(subject, meta)
for callback in callbacks:
callback(event)