コード例 #1
0
    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)
コード例 #2
0
ファイル: cocos.py プロジェクト: klhurley/cocos2d-console
    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)
コード例 #3
0
ファイル: cocos.py プロジェクト: xiechengli/Sample_JSB
    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)