Python module wrapper to hook module-level attribute access.
Access to deprecated attributes first checks _ModuleProxy._deprecatedAttributes
, if the attribute does not appear there then access falls through to _ModuleProxy._module
, the wrapped module object.
Method | __getattribute__ |
Get an attribute from the module object, possibly emitting a warning. |
Method | __init__ |
Undocumented |
Method | __repr__ |
Get a string containing the type of the module proxy and a representation of the wrapped module object. |
Method | __setattr__ |
Set an attribute on the wrapped module object. |
Instance Variable | _deprecated |
Mapping of attribute names to objects that retrieve the module attribute's original value. |
Instance Variable | _last |
Heuristic guess as to whether warnings about this package should be ignored for the next call. If the last attribute access of this module was a getattr of __path__, we will assume that it was the import system doing it and we won't emit a warning for the next access, even if it is to a deprecated attribute... |
Instance Variable | _module |
Module on which to hook attribute access. |
Get an attribute from the module object, possibly emitting a warning.
If the specified name has been deprecated, then a warning is issued. (Unless certain obscure conditions are met; see _ModuleProxy._lastWasPath
for more information about what might quash such a warning.)
Get a string containing the type of the module proxy and a representation of the wrapped module object.
Heuristic guess as to whether warnings about this package should be ignored for the next call. If the last attribute access of this module was a getattr of __path__, we will assume that it was the import system doing it and we won't emit a warning for the next access, even if it is to a deprecated attribute. The CPython import system always tries to access __path__, then the attribute itself, then the attribute itself again, in both successful and failed cases.