Message377503
To clarify, to my understanding the issue here is that when using a class as a decorator, and copying the wrapped function's __doc__ to self.__doc__ in __init__, help() will pick up the wrapper class's __doc__ rather than the instance's __doc__.
For example:
class Deco:
"A decorator."
def __init__(self, func):
functools.update_wrapper(self, func)
def __call__(self, *args, **kwargs):
pass
@Deco
def double(n):
"A function."
return n * 2
help(double) will show "A decorator." rather than "A function." despite the use of functools.update_wrapper(). |
|
Date |
User |
Action |
Args |
2020-09-25 19:14:22 | taleinat | set | recipients:
+ taleinat, rhettinger, samwyse, eamanu |
2020-09-25 19:14:22 | taleinat | set | messageid: <1601061262.61.0.393726226471.issue29940@roundup.psfhosted.org> |
2020-09-25 19:14:22 | taleinat | link | issue29940 messages |
2020-09-25 19:14:22 | taleinat | create | |
|