Mercurial > cpython-lru_cache-weakref
diff Lib/importlib/_bootstrap.py @ 51239:386eb4b5cbb3
Expose source_path and bytecode_path on _PyFileLoader.
| author | Brett Cannon <bcannon@gmail.com> |
|---|---|
| date | Sun, 01 Feb 2009 05:33:17 +0000 |
| parents | 50bd2c18eff0 |
| children | fbb17cab5716 |
line wrap: on
line diff
--- a/Lib/importlib/_bootstrap.py Sun Feb 01 05:04:06 2009 +0000 +++ b/Lib/importlib/_bootstrap.py Sun Feb 01 05:33:17 2009 +0000 @@ -341,13 +341,15 @@ else: return None - def _source_path(self): + @check_name + def source_path(self, fullname): """Return the path to an existing source file for the module, or None if one cannot be found.""" # Not a property so that it is easy to override. return self._find_path(imp.PY_SOURCE) - def _bytecode_path(self): + @check_name + def bytecode_path(self, fullname): """Return the path to a bytecode file, or None if one does not exist.""" # Not a property for easy overriding. @@ -357,8 +359,9 @@ @get_module def load_module(self, module): """Load a Python source or bytecode module.""" - source_path = self._source_path() - bytecode_path = self._bytecode_path() + name = module.__name__ + source_path = self.source_path(name) + bytecode_path = self.bytecode_path(name) code_object = self.get_code(module.__name__) module.__file__ = source_path if source_path else bytecode_path module.__loader__ = self @@ -376,7 +379,7 @@ def source_mtime(self, name): """Return the modification time of the source for the specified module.""" - source_path = self._source_path() + source_path = self.source_path(name) if not source_path: return None return int(_os.stat(source_path).st_mtime) @@ -389,7 +392,7 @@ laoder cannot handle the specified module. """ - source_path = self._source_path() + source_path = self._source_path(name) if source_path is None: return None import tokenize @@ -407,7 +410,7 @@ The returned path is used by 'compile' for error messages. """ - source_path = self._source_path() + source_path = self.source_path(fullname) if source_path is None: return None with closing(_fileio._FileIO(source_path, 'r')) as bytes_file: @@ -422,7 +425,7 @@ the module. Returns None if there is no bytecode. """ - path = self._bytecode_path() + path = self.bytecode_path(name) if path is None: return None file = _fileio._FileIO(path, 'r') @@ -443,7 +446,7 @@ cannot be handled by the loader. """ - bytecode_path = self._bytecode_path() + bytecode_path = self.bytecode_path(name) if not bytecode_path: bytecode_path = self._base_path + suffix_list(imp.PY_COMPILED)[0] file = _fileio._FileIO(bytecode_path, 'w')
