| 280 | |
| 281 | |
| 282 | class _ZipTarget(_ExecutableTarget): |
| 283 | def __init__(self, target): |
| 284 | import runpy |
| 285 | |
| 286 | self._target = os.path.realpath(target) |
| 287 | sys.path.insert(0, self._target) |
| 288 | try: |
| 289 | _, self._spec, self._code = runpy._get_main_module_details() |
| 290 | except ImportError as e: |
| 291 | print(f"ImportError: {e}") |
| 292 | sys.exit(1) |
| 293 | except Exception: |
| 294 | traceback.print_exc() |
| 295 | sys.exit(1) |
| 296 | |
| 297 | def __repr__(self): |
| 298 | return self._target |
| 299 | |
| 300 | @property |
| 301 | def filename(self): |
| 302 | return self._code.co_filename |
| 303 | |
| 304 | @property |
| 305 | def code(self): |
| 306 | return self._code |
| 307 | |
| 308 | @property |
| 309 | def namespace(self): |
| 310 | return dict( |
| 311 | __name__='__main__', |
| 312 | __file__=os.path.normcase(os.path.abspath(self.filename)), |
| 313 | __package__=self._spec.parent, |
| 314 | __loader__=self._spec.loader, |
| 315 | __spec__=self._spec, |
| 316 | __builtins__=__builtins__, |
| 317 | ) |
| 318 | |
| 319 | |
| 320 | class _PdbInteractiveConsole(code.InteractiveConsole): |
no outgoing calls
no test coverage detected
searching dependent graphs…