a little more explicative error message?
Vito De Tullio
vito.detullio at gmail.com
Tue Jul 16 01:44:45 EDT 2013
Hi
I was writing a decorator and lost half an hour for a stupid bug in my code,
but honestly the error the python interpreter returned to me doesn't
helped...
$ python3
Python 3.3.0 (default, Feb 24 2013, 09:34:27)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from functools import wraps
>>> def dec(fun):
... @wraps
... def ret(*args, **kwargs):
... return fun(*args, **kwargs)
... return ret
...
>>> @dec
... def fun(): pass
...
>>> fun()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: update_wrapper() missing 1 required positional argument:
'wrapper'
>>>
$
Soo... at a first glance, no tricks... can you tell where is the error? :D
As I said, the error is totally mine, I just forgot to pass the function as
parameter to wraps. But... what is "update_wrapper()"? and "wrapper"? There
is no useful traceback or something... just... this.
Ok, the documentation clearly says:
This is a convenience function to simplify applying partial() to
update_wrapper().
So, again, shame on me... I just read carefully the doc *after* 20 minutes
trying everything else... still... I think should be useful if wraps()
intercept this error saying something more explicit about the missing fun
parameter...
--
ZeD
More information about the Python-list
mailing list