def main(): try: cli_version = __version__.rsplit(".", 1)[0] if sdkVersion < cli_version: print( "Version is inconsistent, python sdk version:%s tccli version:%s" % (sdkVersion, __version__)) return if len(sys.argv) < 2: print(ErrorMsg.INVALID_CMD % "too few arguments") return services = Services.service_get_list() c = Configure(services) c.init_configures() command = NiceCommand("tccli", tccli_action) command.reg_opt(OptionalsDefine.Help, "bool") command.reg_opt(OptionalsDefine.CliVersion, "bool") if sys.argv[1] == "configure": config = Configure(services) config.register_arg(command) elif sys.argv[1] in services: Services.services_register_arg(command, sys.argv[1]) command.parse(sys.argv[1:]) except Exception as err: print("tccli: " + str(err))
def register_arg(command): cmd = NiceCommand("bm", bm_action) command.reg_cmd(cmd) cmd.reg_opt("help", "bool") cmd.reg_opt(OptionsDefine.Version, "string") help_merge = version_merge() for actionName, action in help_merge.items(): c = NiceCommand(actionName, action["cb"]) cmd.reg_cmd(c) c.reg_opt("help", "bool") for param in action["params"]: c.reg_opt("--" + param, "string") for opt in OptionsDefine.ACTION_GLOBAL_OPT: stropt = "--" + opt c.reg_opt(stropt, "string")
def register_arg(self, command): # 增加cmd profile config_cmd = NiceCommand("configure", self._configure) command.reg_cmd(config_cmd) config_cmd.reg_opt(OptionsDefine.Help, "bool") config_cmd.reg_opt("--" + OptionsDefine.Profile, "string") get_cmd = NiceCommand("get", self._get_configure) set_cmd = NiceCommand("set", self._set_configure) list_cmd = NiceCommand("list", self._list_configure) get_cmd.reg_opt("--" + OptionsDefine.Profile, "string") set_cmd.reg_opt("--" + OptionsDefine.Profile, "string") list_cmd.reg_opt("--" + OptionsDefine.Profile, "string") get_cmd.reg_opt(OptionsDefine.Help, "bool") set_cmd.reg_opt(OptionsDefine.Help, "bool") list_cmd.reg_opt(OptionsDefine.Help, "bool") for s in (self.config_list + self.cred_list): get_cmd.reg_opt(s, "bool") set_cmd.reg_opt(s, "string") for module in self.service_list: for opt in self.conf_service_list: get_cmd.reg_opt("%s.%s" % (module, opt), "bool") set_cmd.reg_opt("%s.%s" % (module, opt), "string") config_cmd.reg_cmd(get_cmd) config_cmd.reg_cmd(set_cmd) config_cmd.reg_cmd(list_cmd)