Fix importlib._bootstrap.PyPycLoader.load_module() to better handle

source/bytecode paths and what to do when they don't exist.
This commit is contained in:
Brett Cannon 2009-03-09 00:14:37 +00:00
parent 9fd459a3a2
commit 29dff8aada
1 changed files with 10 additions and 3 deletions

View File

@ -383,9 +383,16 @@ class PyPycLoader(PyLoader):
def load_module(self, module):
"""Load a module from source or bytecode."""
name = module.__name__
source_path = self.source_path(name)
bytecode_path = self.bytecode_path(name)
module.__file__ = source_path if source_path else bytecode_path
try:
source_path = self.source_path(name)
except ImportError:
source_path = None
try:
bytecode_path = self.bytecode_path(name)
except ImportError:
bytecode_path = None
# get_code can worry about no viable paths existing.
module.__file__ = source_path or bytecode_path
return self._load_module(module)
def get_code(self, fullname):