I have a decorator like below.
def myDecorator(test_func):
return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
return test_func
@myDecorator
def someFunc():
print 'hello'
I want to enhance this decorator to accept another argument like below
def myDecorator(test_func,logIt):
if logIt:
print "Calling Function: " + test_func.__name__
return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
print 'Hello'
But this code gives the error,
TypeError: myDecorator() takes exactly 2 arguments (1 given)
Why is the function not automatically passed? How do I explicitly pass the function to the decorator function?