| 82 | |
| 83 | |
| 84 | class _ModifiedArgv0(object): |
| 85 | def __init__(self, value): |
| 86 | self.value = value |
| 87 | self._saved_value = self._sentinel = object() |
| 88 | |
| 89 | def __enter__(self): |
| 90 | if self._saved_value is not self._sentinel: |
| 91 | raise RuntimeError("Already preserving saved value") |
| 92 | self._saved_value = sys.argv[0] |
| 93 | sys.argv[0] = self.value |
| 94 | |
| 95 | def __exit__(self, *args): |
| 96 | self.value = self._sentinel |
| 97 | sys.argv[0] = self._saved_value |
| 98 | |
| 99 | |
| 100 | # TODO: Replace these helpers with importlib._bootstrap_external functions. |
no outgoing calls
no test coverage detected