in taskcat/_cli_core.py [0:0]
def _get_params(self, item):
params = []
for param in inspect.signature(item).parameters.values():
if param.name == "self" or param.name.startswith("_"):
continue
required = param.default == param.empty
default = param.default if not required else None
val_type = param.annotation if param.annotation in [str, int, bool] else str
action = "store_true" if val_type == bool else "store"
param_help = CliCore._get_param_help(item, param.name)
name = param.name.lower()
kwargs = {"action": action, "help": param_help}
if not required:
name = name.replace("_", "-")
kwargs.update(
{"required": required, "default": default, "dest": param.name}
)
if action == "store":
kwargs.update({"type": val_type})
if required:
params.append([[name], kwargs])
else:
if f"{item.__qualname__}.{name}" in self.longform_required:
params.append([[f"--{name}"], kwargs])
else:
params.append([[f"-{name[0]}", f"--{name}"], kwargs])
return params