diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-06-08 15:27:06 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-08 15:27:06 (GMT) |
commit | 51c9cc73cb8768a691688755af0a8b6b12cf712c (patch) | |
tree | 727b4f77cb5da601d67cd9a78bac242fad2c4778 /Lib/inspect.py | |
parent | 10b4fd98142edef6ab7b034e10ae5c9551043999 (diff) | |
download | cpython-51c9cc73cb8768a691688755af0a8b6b12cf712c.zip cpython-51c9cc73cb8768a691688755af0a8b6b12cf712c.tar.gz cpython-51c9cc73cb8768a691688755af0a8b6b12cf712c.tar.bz2 |
bpo-37173: Show passed class in inspect.getfile error (GH-13861)
Currently, inspect.getfile(str) will report nonsense:
```pytb
>>> inspect.getfile(str)
TypeError: <module 'builtins' (built-in)> is a built-in class
```
This fixes that
https://bugs.python.org/issue37173
(cherry picked from commit d407d2a7265f6102e51a1d62b3fd28b4f7a78d16)
Co-authored-by: Philipp A <flying-sheep@web.de>
Diffstat (limited to 'Lib/inspect.py')
-rw-r--r-- | Lib/inspect.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py index da4a424..4d4f33d 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -647,9 +647,9 @@ def getfile(object): raise TypeError('{!r} is a built-in module'.format(object)) if isclass(object): if hasattr(object, '__module__'): - object = sys.modules.get(object.__module__) - if getattr(object, '__file__', None): - return object.__file__ + module = sys.modules.get(object.__module__) + if getattr(module, '__file__', None): + return module.__file__ raise TypeError('{!r} is a built-in class'.format(object)) if ismethod(object): object = object.__func__ |