def parse_args(self, argv): from argparse import ArgumentParser # FIXME: # CCPlugin should not parse any argument. Plugins are responsoble for doing it parser = ArgumentParser(prog="cocos %s" % self.__class__.plugin_name(), description=self.__class__.brief_description()) parser.add_argument("-s", "--src", dest="src_dir", help=MultiLanguage.get_string('COCOS_HELP_ARG_SRC')) parser.add_argument("-q", "--quiet", action="store_true", dest="quiet", help=MultiLanguage.get_string('COCOS_HELP_ARG_QUIET')) platform_list = cocos_project.Platforms.list_for_display() parser.add_argument("-p", "--platform", dest="platform", help=MultiLanguage.get_string('COCOS_HELP_ARG_PLATFORM')) parser.add_argument("--list-platforms", action="store_true", dest="listplatforms", help=_("List available platforms")) parser.add_argument("--proj-dir", dest="proj_dir", help=MultiLanguage.get_string('COCOS_HELP_ARG_PROJ_DIR')) self._add_custom_options(parser) (args, unkonw) = parser.parse_known_args(argv) if args.src_dir is None: self._project = cocos_project.Project(os.path.abspath(os.getcwd())) else: self._project = cocos_project.Project( os.path.abspath(args.src_dir)) args.src_dir = self._project.get_project_dir() if args.src_dir is None: raise CCPluginError(MultiLanguage.get_string('COCOS_ERROR_PROJECT_NOT_FOUND'), CCPluginError.ERROR_WRONG_ARGS) if args.platform: args.platform = args.platform.lower() if args.platform not in platform_list: raise CCPluginError(MultiLanguage.get_string('COCOS_ERROR_UNKNOWN_PLATFORM_FMT', args.platform), CCPluginError.ERROR_WRONG_ARGS) if args.listplatforms and self._project is not None: platforms = cocos_project.Platforms(self._project, args.platform, args.proj_dir) p = platforms.get_available_platforms().keys() print('{"platforms":' + json.dumps(p) + '}') sys.exit(0) self.init(args) self._check_custom_options(args)
def parse_args(self, argv): from argparse import ArgumentParser parser = ArgumentParser(prog="cocos %s" % self.__class__.plugin_name(), description=self.__class__.brief_description()) parser.add_argument( "-s", "--src", dest="src_dir", help=MultiLanguage.get_string('COCOS_HELP_ARG_SRC')) parser.add_argument( "-q", "--quiet", action="store_true", dest="quiet", help=MultiLanguage.get_string('COCOS_HELP_ARG_QUIET')) platform_list = cocos_project.Platforms.list_for_display() parser.add_argument( "-p", "--platform", dest="platform", help=MultiLanguage.get_string('COCOS_HELP_ARG_PLATFORM')) parser.add_argument( "--proj-dir", dest="proj_dir", help=MultiLanguage.get_string('COCOS_HELP_ARG_PROJ_DIR')) self._add_custom_options(parser) (args, unkonw) = parser.parse_known_args(argv) if args.src_dir is None: self._project = cocos_project.Project(os.path.abspath(os.getcwd())) else: self._project = cocos_project.Project(os.path.abspath( args.src_dir)) args.src_dir = self._project.get_project_dir() if args.src_dir is None: raise CCPluginError( MultiLanguage.get_string('COCOS_ERROR_PROJECT_NOT_FOUND'), CCPluginError.ERROR_WRONG_ARGS) if args.platform: args.platform = args.platform.lower() if args.platform not in platform_list: raise CCPluginError( MultiLanguage.get_string( 'COCOS_ERROR_UNKNOWN_PLATFORM_FMT', args.platform), CCPluginError.ERROR_WRONG_ARGS) self.init(args) self._check_custom_options(args)
def parse_args(self, argv): from argparse import ArgumentParser parser = ArgumentParser(prog="cocos %s" % self.__class__.plugin_name(), description=self.__class__.brief_description()) parser.add_argument("-s", "--src", dest="src_dir", help="project base directory") parser.add_argument("-q", "--quiet", action="store_true", dest="quiet", help="less output") platform_list = cocos_project.Platforms.list_for_display() parser.add_argument("-p", "--platform", dest="platform", help="select a platform (%s)" % ', '.join(platform_list)) self._add_custom_options(parser) (args, unkonw) = parser.parse_known_args(argv) if args.src_dir is None: self._project = cocos_project.Project(os.path.abspath(os.getcwd())) else: self._project = cocos_project.Project(os.path.abspath( args.src_dir)) args.src_dir = self._project.get_project_dir() if args.src_dir is None: raise CCPluginError( "No directory supplied and found no project at your current directory.\n" + "You can set the folder as a parameter with \"-s\" or \"--src\",\n" + "or change your current working directory somewhere inside the project.\n" "(-h for the usage)") if args.platform: args.platform = args.platform.lower() if not args.platform in platform_list: raise CCPluginError("Unknown platform: %s" % args.platform) self.init(args) self._check_custom_options(args)