in src/aaz_dev/cli/controller/az_arg_group_generator.py [0:0]
def render_arg(arg, cmd_ctx, arg_group=None):
arg_kwargs = {
"options": []
}
for option in arg.options:
if arg_group is not None:
if len(option) == 1:
option = f"-{option}"
else:
option = f"--{option}"
arg_kwargs["options"].append(option)
if getattr(arg, 'singular_options', None):
arg_kwargs["singular_options"] = []
for option in arg.singular_options:
if arg_group is not None:
if len(option) == 1:
option = f"-{option}"
else:
option = f"--{option}"
arg_kwargs["singular_options"].append(option)
if arg_group: # not empty string or None
arg_kwargs["arg_group"] = arg_group
if arg.help:
arg_kwargs["help"] = parse_arg_help(arg.help)
if arg.required:
arg_kwargs["required"] = True
if arg.stage == AAZStageEnum.Preview:
arg_kwargs["is_preview"] = True
elif arg.stage == AAZStageEnum.Experimental:
arg_kwargs["is_experimental"] = True
if arg.id_part and cmd_ctx.support_id_part:
arg_kwargs["id_part"] = arg.id_part
if arg.default:
arg_kwargs["default"] = arg.default.value
if arg.configuration_key:
arg_kwargs["configured_default"] = arg.configuration_key
arg_type, arg_kwargs, cls_builder_name = render_arg_base(arg, cmd_ctx, arg_kwargs)
if arg.prompt:
if arg_type == "AAZPasswordArg":
arg_kwargs["prompt"] = {
"cls": "AAZPromptPasswordInput",
"kwargs": {
"msg": arg.prompt.msg,
}
}
if arg.prompt.confirm:
arg_kwargs["prompt"]["kwargs"]["confirm"] = arg.prompt.confirm
else:
arg_kwargs["prompt"] = {
"cls": "AAZPromptInput",
"kwargs": {
"msg": arg.prompt.msg,
}
}
if "blank" in arg_kwargs and "prompt" in arg_kwargs:
raise KeyError("An argument cannot contain both prompt and blank")
return arg_type, arg_kwargs, cls_builder_name