Exemple #1
0
def valid_parameter_value(value: str,
                          parameter_name: str,
                          min_length: int = -1,
                          allowed_values: list = [],
                          case_sensitive: bool = False,
                          allow_none_or_empty: bool = False):
    if not value:
        if allow_none_or_empty:
            return
        else:
            raise pss_exception.InvalidParameter(parameter_name=parameter_name,
                                                 invalid_value=value,
                                                 min_length=min_length,
                                                 valid_values=allowed_values)

    if allowed_values:
        valids = list(allowed_values)
        if not case_sensitive:
            value = value.lower()
            valids = [value.lower() for value in allowed_values]
    else:
        valids = []

    if len(value) < min_length and not value in valids:
        raise pss_exception.InvalidParameter(
            parameter_name=parameter_name,
            invalid_value=value,
            min_length=min_length,
            valid_values=allowed_values,
            allow_none_or_empty=allow_none_or_empty)
Exemple #2
0
def parameter_is_valid_integer(value: object, parameter_name: str, min_value: int = None, max_value: int = None, allow_none: bool = False):
    if value is None:
        if allow_none is True:
            return
        else:
            raise pss_exception.InvalidParameter(parameter_name=parameter_name, invalid_value=value)
    if isinstance(value, int):
        if (min_value is not None and value < min_value) or (max_value is not None and value > max_value):
            raise pss_exception.InvalidParameter(parameter_name=parameter_name, invalid_value=value)
    else:
        raise pss_exception.InvalidParameter(parameter_name=parameter_name, invalid_value=value)