mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2024-11-14 16:27:16 +00:00
18 lines
472 B
Python
18 lines
472 B
Python
|
from functools import partial
|
||
|
|
||
|
|
||
|
class CallbackMixin:
|
||
|
def __init__(self):
|
||
|
self._callbacks = []
|
||
|
|
||
|
def subscribe_callback(self, callback, *args, **kwargs):
|
||
|
fun = partial(callback, *args, **kwargs)
|
||
|
self._callbacks.append(fun)
|
||
|
|
||
|
def unsubscribe_callback(self, callback):
|
||
|
self._callbacks.remove(callback)
|
||
|
|
||
|
def _execute_callbacks(self, *args, **kwargs):
|
||
|
for callback in self._callbacks:
|
||
|
callback(*args, **kwargs)
|