mirror of https://github.com/langgenius/dify.git
23 lines
511 B
Python
23 lines
511 B
Python
class _EventHook:
|
|
def __init__(self):
|
|
self._handlers = []
|
|
|
|
def __iadd__(self, handler):
|
|
self._handlers.append(handler)
|
|
return self
|
|
|
|
def __isub__(self, handler):
|
|
self._handlers.remove(handler)
|
|
return self
|
|
|
|
def __call__(self, *args, **kwargs):
|
|
for handler in list(self._handlers):
|
|
handler(*args, **kwargs)
|
|
|
|
|
|
class Events:
|
|
def __getattr__(self, name):
|
|
hook = _EventHook()
|
|
setattr(self, name, hook)
|
|
return hook
|