I have class:
class SimpleClass:
def __init__(self):
pass
def init_levels(self):
levels = get_levels_list()
for level in levels:
Transplant(foo, Simplelog, method_name=level)
Transplant is a class for dynamically adding methods to class:
class Transplant:
def __init__(self, method, host, method_name=None):
self.host = host
self.method = method
self.method_name = method_name
setattr(host, method_name or method.__name__, self)
def __call__(self, *args, **kwargs):
nargs = [self.host]
nargs.extend(args)
return apply(self.method, nargs, kwargs)
Foo is a function for "transplanting":
def foo(self):
return
How can I get called method name inside foo?
For example I execute:
simpleinst = SimpleClass()
simpleinst.init_levels()
How can I modify my code for getting called method name in foo definition body?