MCPcopy Create free account
hub / github.com/fabioz/PyDev.Debugger / _TempModule

Class _TempModule

_pydevd_bundle/pydevd_runpy.py:59–81  ·  view source on GitHub ↗

Temporarily replace a module in sys.modules with an empty namespace

Source from the content-addressed store, hash-verified

57
58
59class _TempModule(object):
60 """Temporarily replace a module in sys.modules with an empty namespace"""
61
62 def __init__(self, mod_name):
63 self.mod_name = mod_name
64 self.module = types.ModuleType(mod_name)
65 self._saved_module = []
66
67 def __enter__(self):
68 mod_name = self.mod_name
69 try:
70 self._saved_module.append(sys.modules[mod_name])
71 except KeyError:
72 pass
73 sys.modules[mod_name] = self.module
74 return self
75
76 def __exit__(self, *args):
77 if self._saved_module:
78 sys.modules[self.mod_name] = self._saved_module[0]
79 else:
80 del sys.modules[self.mod_name]
81 self._saved_module = []
82
83
84class _ModifiedArgv0(object):

Callers 2

_run_module_codeFunction · 0.85
run_pathFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected