Задача 70 Средняя

Все обработчики называются wrapper

Обработчики событий регистрируются по имени функции: HANDLERS[func.__name__] = func. После того как на них повесили log_call, в реестре остался один ключ "wrapper", и обработчики затирают друг друга. Исправьте декоратор log_call (реестр и регистрацию не меняйте). Два декоратора над функцией применяются снизу вверх: сначала log_call, потом register — то есть on_paid = register(log_call(on_paid)).

Подсказка 1 из 2

register получает уже обёртку от log_call — у неё своё имя.

Подсказка 2 из 2

functools.wraps(func) над wrapper.

main.py Загружаем Python… первый раз ~13 МБ, дальше из кэша

Ошибка в тексте

Сообщить об ошибке могут зарегистрированные пользователи — так в сообщениях меньше спама.

Войти, чтобы сообщить