Всем привет, есть такой вот код:
class WrappedClass:
def __init__(self, name, callback):
self.name = name
self.callback = callback
def run(self):
self.callback(1, 10)
def as_action(name):
def decorator(func):
func.action = WrappedClass
func.name = name
return func
return decorator
class MyClass:
@as_action('name')
def my_method(self, arg1, arg2):
print(arg1)
print(arg2)
if __name__ == "__main__":
m = MyClass()
r = m.my_method.action(m.my_method.name, m.my_method)
r.run()
Я хочу что бы метод обернутый в декоратор as_action возвращал объект в котором оборачиваемый метод работал бы как колбэк, я не уверен что мой код делает это правильно, как можно еще решить такую задачу? Можно ли применить дескриптор в такой ситуации?