J'ai un décorateur comme ci-dessous.
def myDecorator(test_func):
return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
return test_func
@myDecorator
def someFunc():
print 'hello'
Je souhaite valoriser ce décorateur pour accepter un autre argument comme ci-dessous
def myDecorator(test_func,logIt):
if logIt:
print "Calling Function: " + test_func.__name__
return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
print 'Hello'
Mais ce code donne l'erreur,
TypeError: myDecorator () prend exactement 2 arguments (1 donné)
Pourquoi la fonction n'est-elle pas automatiquement transmise? Comment passer explicitement la fonction à la fonction décorateur?