p = Path('targets') for module in p.glob('*.py'): print(f' {module.stem}') sys.exit(0) # handle --console-server if args.console_server: ConsoleServer().run() sys.exit(0) # if --target specified, load target & populate target-specific args if args.target is not None: target = importlib.import_module('targets.' + args.target) Emulator.add_arguments(parser) Trace.add_arguments(parser) Device.add_arguments(parser) RootDevice.add_arguments(parser) target.add_arguments(parser) if args.help is True: parser.print_help() sys.exit(0) # configure the emulator args = parser.parse_args() emu = target.configure(args) # run some instructions emu.run() emu.finish() print(emu.fatal_info())