| 243 | |
| 244 | |
| 245 | class _ModuleTarget(_ExecutableTarget): |
| 246 | def __init__(self, target): |
| 247 | self._target = target |
| 248 | |
| 249 | import runpy |
| 250 | try: |
| 251 | _, self._spec, self._code = runpy._get_module_details(self._target) |
| 252 | except ImportError as e: |
| 253 | print(f"ImportError: {e}") |
| 254 | sys.exit(1) |
| 255 | except Exception: |
| 256 | traceback.print_exc() |
| 257 | sys.exit(1) |
| 258 | |
| 259 | def __repr__(self): |
| 260 | return self._target |
| 261 | |
| 262 | @property |
| 263 | def filename(self): |
| 264 | return self._code.co_filename |
| 265 | |
| 266 | @property |
| 267 | def code(self): |
| 268 | return self._code |
| 269 | |
| 270 | @property |
| 271 | def namespace(self): |
| 272 | return dict( |
| 273 | __name__='__main__', |
| 274 | __file__=os.path.normcase(os.path.abspath(self.filename)), |
| 275 | __package__=self._spec.parent, |
| 276 | __loader__=self._spec.loader, |
| 277 | __spec__=self._spec, |
| 278 | __builtins__=__builtins__, |
| 279 | ) |
| 280 | |
| 281 | |
| 282 | class _ZipTarget(_ExecutableTarget): |
no outgoing calls
no test coverage detected
searching dependent graphs…