On 2012-06-07, at 9:28 AM, Michael Foord wrote:
> On 6 Jun 2012, at 18:28, Yury Selivanov wrote:
>> On 2012-06-06, at 1:13 PM, Alexandre Zani wrote:
>> Never copy attributes by hand, always use 'functools.wraps'.  It copies
>> '__name__', '__qualname__', and bunch of other attributes to the decorator 
>> object.
>> 
>> We'll probably extend it to copy __signature__ too; then 
>> 'signature(decor(f))'
>> will be the same as 'signature(f)'.
>> 
> 
> I don't think functools.wraps can copy the signature by default - it's not 
> uncommon to have decorators that modify signatures. A new parameter to 
> functools.wraps defaulting to False?



http://mail.python.org/pipermail/python-dev/2012-June/120021.html

We just won't copy it at all. See the link above.

'functools.wraps' already sets '__wrapped__' reference to the wrapped function,
so we can easily traverse the chain to either first function with __signature__ 
defined, or to the most inner-decorated function and get a signature for it.

-
Yury
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to