Добавить executor/mediator.py
All checks were successful
Test Actions / Builder (push) Successful in 27s
All checks were successful
Test Actions / Builder (push) Successful in 27s
This commit is contained in:
50
executor/mediator.py
Normal file
50
executor/mediator.py
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
__author__ = 'RemiZOffAlex'
|
||||||
|
__email__ = 'remizoffalex@mail.ru'
|
||||||
|
|
||||||
|
|
||||||
|
class Mediator:
|
||||||
|
def __init__(self):
|
||||||
|
self.__values = {}
|
||||||
|
|
||||||
|
def get(self, name):
|
||||||
|
assert name in self.__values, f'Ключ {name} в настройках не найден'
|
||||||
|
return self.__values[name]
|
||||||
|
|
||||||
|
def set(self, name, value):
|
||||||
|
self.__values[name] = value
|
||||||
|
|
||||||
|
def emit(self, name, *args, **kwargs):
|
||||||
|
assert name in self.__values, f'Ключ {name} в настройках не найден'
|
||||||
|
method = self.__values[name]
|
||||||
|
response = method(*args, **kwargs)
|
||||||
|
return response
|
||||||
|
|
||||||
|
def register(self, name, function):
|
||||||
|
self.__values[name] = function
|
||||||
|
|
||||||
|
def __contains__(self, key):
|
||||||
|
if key in self.__values:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def __delitem__(self, key):
|
||||||
|
del self.__values[key]
|
||||||
|
|
||||||
|
def __getitem__(self, key):
|
||||||
|
value = self.__values[key]
|
||||||
|
return value
|
||||||
|
|
||||||
|
def __setitem__(self, key, value):
|
||||||
|
self.__values[key] = value
|
||||||
|
|
||||||
|
def __iter__(self):
|
||||||
|
for name in self.__values.keys():
|
||||||
|
yield name
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
result = []
|
||||||
|
for key in self.__values:
|
||||||
|
value = self.__values[key]
|
||||||
|
result.append(f'{key}: {value}')
|
||||||
|
return '/n'.join(result)
|
||||||
Reference in New Issue
Block a user