MCPcopy Index your code
hub / github.com/python/cpython / _safe_import_hook

Method _safe_import_hook

Lib/modulefinder.py:371–395  ·  view source on GitHub ↗
(self, name, caller, fromlist, level=-1)

Source from the content-addressed store, hash-verified

369 self.badmodules[name]["-"] = 1
370
371 def _safe_import_hook(self, name, caller, fromlist, level=-1):
372 # wrapper for self.import_hook() that won't raise ImportError
373 if name in self.badmodules:
374 self._add_badmodule(name, caller)
375 return
376 try:
377 self.import_hook(name, caller, level=level)
378 except ImportError as msg:
379 self.msg(2, "ImportError:", str(msg))
380 self._add_badmodule(name, caller)
381 except SyntaxError as msg:
382 self.msg(2, "SyntaxError:", str(msg))
383 self._add_badmodule(name, caller)
384 else:
385 if fromlist:
386 for sub in fromlist:
387 fullname = name + "." + sub
388 if fullname in self.badmodules:
389 self._add_badmodule(fullname, caller)
390 continue
391 try:
392 self.import_hook(name, caller, [sub], level=level)
393 except ImportError as msg:
394 self.msg(2, "ImportError:", str(msg))
395 self._add_badmodule(fullname, caller)
396
397 def scan_opcodes(self, co):
398 # Scan the code, and yield 'interesting' opcode combinations

Callers 1

scan_codeMethod · 0.95

Calls 4

_add_badmoduleMethod · 0.95
import_hookMethod · 0.95
msgMethod · 0.95
strFunction · 0.85

Tested by

no test coverage detected