Nick Coghlan wrote: > Raymond Hettinger wrote: >> Decorators like this should preserve information about the underlying >> function: >> >> >>> def deprecated(func): >>> """This is a decorator which can be used to mark functions >>> as deprecated. It will result in a warning being emmitted >>> when the function is used.""" >>> def newFunc(*args, **kwargs): >>> warnings.warn("Call to deprecated function.") >>> return func(*args, **kwargs) >> >> newFunc.__name__ = func.__name__ >> newFunc.__doc__ = func.__doc__ >> newFunc.__dict__.update(func.__dict__) >> >>> return newFunc > > A utility method on function objects could simplify this: > newFunc.update_info(func) +1. This is really good for 90% of all decorator uses. But maybe a better name should be found, perhaps "update_meta". Reinhold -- Mail address is perfectly valid!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4