def validate_params()

in modular_cli/service/request_processor.py [0:0]


def validate_params(appropriate_command, passed_parameters):
    missed_param = [
        param[NAME] for param in appropriate_command[PARAMS]
        if param[REQUIRED] and param[NAME] not in passed_parameters
    ]

    if missed_param:
        raise ModularCliBadRequestException(
            f'The following parameters are missing: '
            f'{", ".join(missed_param)}.\n'
            f'Try \'--help\' for help or list subcommands.')

    passed_parameters_names = passed_parameters.keys()
    for checked_name in passed_parameters_names:
        found = False
        for item in appropriate_command.get(PARAMS):
            name = item.get(NAME)
            if checked_name == name:
                param_type = item.get(TYPE)
                value = passed_parameters.get(checked_name)
                check_param_type(p_name=checked_name, p_type=param_type,
                                 value=value)
                found = True
                break
        if not found:
            raise ModularCliBadRequestException(f"Invalid parameter "
                                                  f"\'{checked_name}\'.")