diff options
Diffstat (limited to 'Lib/importlib/_bootstrap.py')
-rw-r--r-- | Lib/importlib/_bootstrap.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index 5c4d2c6..98361a7 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -419,8 +419,8 @@ def cache_from_source(path, debug_override=None): .pyc/.pyo file calculated as if the .py file were imported. The extension will be .pyc unless sys.flags.optimize is non-zero, then it will be .pyo. - If debug_override is not None, then it must be a boolean and is taken as - the value of bool(sys.flags.optimize) instead. + If debug_override is not None, then it must be a boolean and is used in + place of sys.flags.optimize. If sys.implementation.cache_tag is None then NotImplementedError is raised. @@ -1669,7 +1669,11 @@ def __import__(name, globals=None, locals=None, fromlist=(), level=0): elif not name: return module else: + # Figure out where to slice the module's name up to the first dot + # in 'name'. cut_off = len(name) - len(name.partition('.')[0]) + # Slice end needs to be positive to alleviate need to special-case + # when ``'.' not in name``. return sys.modules[module.__name__[:len(module.__name__)-cut_off]] else: return _handle_fromlist(module, fromlist, _gcd_import) |