def validate_integer(field_name, value): if not isinstance(value, int): raise exceptions.FieldError( "Should be an integer field", field=field_name, value=value, )
def validate_category(self, value): if value not in self.Category: raise exceptions.FieldError( "`category` must be one of %s, got: " % [c for c in self.Category], field='category', value=value, )
def validate_varchar(field_name, value, max_length): if not (isinstance(value, str) and len(value) <= max_length): raise exceptions.FieldError( "Should be a string of length <= {max_length}".format( max_length=max_length, ), field=field_name, value=value, )
def deserialize_slot(self, key, value): if (key in self.ENUM_SLOTS) and (value is not None): try: value = self.ENUM_SLOTS[key](value) except ValueError as e: raise exceptions.FieldError( "Invalid value for enum slot", field=key, value=value, ) from e return value
def _validate_slot(key, value, verify_class): try: _verify_slot_type(value, verify_class) except TypeError as e: raise exceptions.FieldError( "Should be an instance of {should_be} not {is_now}".format( should_be=verify_class, is_now=type(value), ), field=key, value=value, ) from e
def deserialize_verify_list(key, value, verify_key, verify_class): if key == verify_key: try: for v in value: _validate_slot(key, v, verify_class) except TypeError as e: raise exceptions.FieldError( "Should be a list of {verify_class}".format( verify_class=verify_class, ), field=key, value=value, ) from e return value
def validate_stringval(self, value): if not isinstance(value, str): raise exceptions.FieldError()