(self, fqname, fp, pathname, file_info)
| 332 | return m |
| 333 | |
| 334 | def load_module(self, fqname, fp, pathname, file_info): |
| 335 | suffix, mode, type = file_info |
| 336 | self.msgin(2, "load_module", fqname, fp and "fp", pathname) |
| 337 | if type == _PKG_DIRECTORY: |
| 338 | m = self.load_package(fqname, pathname) |
| 339 | self.msgout(2, "load_module ->", m) |
| 340 | return m |
| 341 | if type == _PY_SOURCE: |
| 342 | co = compile(fp.read(), pathname, 'exec', module=fqname) |
| 343 | elif type == _PY_COMPILED: |
| 344 | try: |
| 345 | data = fp.read() |
| 346 | importlib._bootstrap_external._classify_pyc(data, fqname, {}) |
| 347 | except ImportError as exc: |
| 348 | self.msgout(2, "raise ImportError: " + str(exc), pathname) |
| 349 | raise |
| 350 | co = marshal.loads(memoryview(data)[16:]) |
| 351 | else: |
| 352 | co = None |
| 353 | m = self.add_module(fqname) |
| 354 | m.__file__ = pathname |
| 355 | if co: |
| 356 | if self.replace_paths: |
| 357 | co = self.replace_paths_in_code(co) |
| 358 | m.__code__ = co |
| 359 | self.scan_code(co, m) |
| 360 | self.msgout(2, "load_module ->", m) |
| 361 | return m |
| 362 | |
| 363 | def _add_badmodule(self, name, caller): |
| 364 | if name not in self.badmodules: |
no test coverage detected