def validate_regex(value: str, regex: str): if type(value) is not str: raise ParseError(f'value "{value}" should be string') if not re.match(regex, value): raise ParseError( f"value \"{value}\" doesn't match to regex \"{regex}\"")
async def get_model(self, data: dict) -> dict: # TODO: implement validate_dict_must_have_key(data, 'name') model_name = data['name'] validate_letters_digits_undescores(model_name) if model_name not in settings.PROXY_PROVIDER_SERVER_API_CONFIG: raise ParseError("You're not allowed to see this model") return { "result": "model " + model_name, }
def validate_uint(value): if type(value) is not int: raise ParseError("value should be integer") if value < 0: raise ParseError("value should be positive")
def validate_letters_digits_undescores(value): if len(value) > settings.PROXY_PROVIDER_SERVER_MAXIMUM_STRING_FIELD_SIZE: raise ParseError(f'value "{value}" is too big') return validate_regex(value, r'^[a-zA-Z0-9_]+$')
def validate_dict_must_have_key(data: dict, key: str): if key not in data: raise ParseError(f'please, specify the "{key}" key')