in mozci/console/commands/push.py [0:0]
def retrieve_classify_parameters(options):
default_parameters = []
for name, parameter in signature(Push.classify).parameters.items():
if name != "self":
default_parameters.append(parameter)
classify_parameters = {}
for parameter in default_parameters:
parameter_name = parameter.name
parameter_type = parameter.annotation
option_name = parameter_name.replace("_", "-")
try:
option = options(option_name)
except CleoNoSuchOptionError:
option = None
if config.get(parameter_name) is not None and option is not None:
raise Exception(
f"You should provide either --{option_name} CLI option OR '{parameter_name}' in the config secret not both."
)
if config.get(parameter_name) is not None:
classify_parameters[parameter_name] = check_type(
parameter_type,
f"'{parameter_name}' in the config secret",
config[parameter_name],
)
elif option is not None:
classify_parameters[parameter_name] = check_type(
parameter_type, f"--{option_name}", option
)
return classify_parameters