On Wed, Nov 15, 2017 at 4:27 PM, Ethan Furman <ethan at stoneleaf.us> wrote: > The second way is fairly similar, but instead of replacing the entire > sys.modules entry, its class is updated to be the class just created -- > something like sys.modules['mymod'].__class__ = MyNewClass . > > My request: Can someone write a better example of the second method? And > include __getattr__ ? Here's a fairly straightforward example: https://github.com/python-trio/trio/blob/master/trio/_deprecate.py#L114-L140 (Intentionally doesn't include __dir__ because I didn't want deprecated attributes to show up in tab completion. For other use cases like lazy imports, you would implement __dir__ too.) Example usage: https://github.com/python-trio/trio/blob/master/trio/__init__.py#L66-L98 -n -- Nathaniel J. Smith -- https://vorpus.org
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