Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: Add field information when raising validation errors. #956

Merged
merged 4 commits into from
Feb 29, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Prev Previous commit
Next Next commit
🦉 Updates from OwlBot post-processor
  • Loading branch information
gcf-owl-bot[bot] committed Feb 28, 2024
commit 112b4759aaac6043295951084f7262ef77e6e055
63 changes: 47 additions & 16 deletions google/cloud/ndb/model.py
Expand Up @@ -1485,7 +1485,9 @@ def _set_value(self, entity, value):
if self._repeated:
if not isinstance(value, (list, tuple, set, frozenset)):
raise exceptions.BadValueError(
"In field {}, expected list or tuple, got {!r}".format(self._name, value)
"In field {}, expected list or tuple, got {!r}".format(
self._name, value
)
)
value = [self._do_validate(v) for v in value]
else:
Expand Down Expand Up @@ -2372,7 +2374,9 @@ def _validate(self, value):
.BadValueError: If ``value`` is not a :class:`bool`.
"""
if not isinstance(value, bool):
raise exceptions.BadValueError("In field {}, expected bool, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected bool, got {!r}".format(self._name, value)
)
return value

def _from_base_type(self, value):
Expand Down Expand Up @@ -2417,7 +2421,9 @@ def _validate(self, value):
to one.
"""
if not isinstance(value, six.integer_types):
raise exceptions.BadValueError("In field {}, expected integer, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected integer, got {!r}".format(self._name, value)
)
return int(value)


Expand Down Expand Up @@ -2447,7 +2453,9 @@ def _validate(self, value):
to one.
"""
if not isinstance(value, six.integer_types + (float,)):
raise exceptions.BadValueError("In field {}, expected float, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected float, got {!r}".format(self._name, value)
)
return float(value)


Expand Down Expand Up @@ -2578,7 +2586,9 @@ def _validate(self, value):
exceeds the maximum length (1500 bytes).
"""
if not isinstance(value, bytes):
raise exceptions.BadValueError("In field {}, expected bytes, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected bytes, got {!r}".format(self._name, value)
)

if self._indexed and len(value) > _MAX_STRING_LENGTH:
raise exceptions.BadValueError(
Expand Down Expand Up @@ -2761,7 +2771,9 @@ def _validate(self, value):
value = value.decode("utf-8")
except UnicodeError:
raise exceptions.BadValueError(
"In field {}, expected valid UTF-8, got {!r}".format(self._name, value)
"In field {}, expected valid UTF-8, got {!r}".format(
self._name, value
)
)
else:
raise exceptions.BadValueError(
Expand Down Expand Up @@ -2920,7 +2932,9 @@ def _validate(self, value):
value = value.decode("utf-8")
except UnicodeError:
raise exceptions.BadValueError(
"In field {}, expected valid UTF-8, got {!r}".format(self._name, value)
"In field {}, expected valid UTF-8, got {!r}".format(
self._name, value
)
)
elif isinstance(value, six.string_types):
encoded_length = len(value.encode("utf-8"))
Expand Down Expand Up @@ -3026,7 +3040,9 @@ def _validate(self, value):
.BadValueError: If ``value`` is not a :attr:`.GeoPt`.
"""
if not isinstance(value, GeoPt):
raise exceptions.BadValueError("In field {}, expected GeoPt, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected GeoPt, got {!r}".format(self._name, value)
)


class PickleProperty(BlobProperty):
Expand Down Expand Up @@ -3447,7 +3463,9 @@ def _validate(self, value):
"""
# Might be GAE User or our own version
if type(value).__name__ != "User":
raise exceptions.BadValueError("In field {}, expected User, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected User, got {!r}".format(self._name, value)
)

def _prepare_for_put(self, entity):
"""Pre-put hook
Expand Down Expand Up @@ -3659,7 +3677,9 @@ def _validate(self, value):
and ``value`` does not match that kind.
"""
if not isinstance(value, Key):
raise exceptions.BadValueError("In field {}, expected Key, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected Key, got {!r}".format(self._name, value)
)

# Reject incomplete keys.
if not value.id():
Expand All @@ -3671,7 +3691,8 @@ def _validate(self, value):
if self._kind is not None:
if value.kind() != self._kind:
raise exceptions.BadValueError(
"In field {}, expected Key with kind={!r}, got " "{!r}".format(self._name, self._kind, value)
"In field {}, expected Key with kind={!r}, got "
"{!r}".format(self._name, self._kind, value)
)

def _to_base_type(self, value):
Expand Down Expand Up @@ -3722,7 +3743,9 @@ def _validate(self, value):
:class:`~google.cloud.ndb.model.BlobKey`.
"""
if not isinstance(value, BlobKey):
raise exceptions.BadValueError("In field {}, expected BlobKey, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected BlobKey, got {!r}".format(self._name, value)
)


class DateTimeProperty(Property):
Expand Down Expand Up @@ -3838,7 +3861,9 @@ def _validate(self, value):
.BadValueError: If ``value`` is not a :class:`~datetime.datetime`.
"""
if not isinstance(value, datetime.datetime):
raise exceptions.BadValueError("In field {}, expected datetime, got {!r}".format(self._name,value))
raise exceptions.BadValueError(
"In field {}, expected datetime, got {!r}".format(self._name, value)
)

if self._tzinfo is None and value.tzinfo is not None:
raise exceptions.BadValueError(
Expand Down Expand Up @@ -3935,7 +3960,9 @@ def _validate(self, value):
.BadValueError: If ``value`` is not a :class:`~datetime.date`.
"""
if not isinstance(value, datetime.date):
raise exceptions.BadValueError("In field {}, expected date, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected date, got {!r}".format(self._name, value)
)

def _to_base_type(self, value):
"""Convert a value to the "base" value type for this property.
Expand Down Expand Up @@ -3993,7 +4020,9 @@ def _validate(self, value):
.BadValueError: If ``value`` is not a :class:`~datetime.time`.
"""
if not isinstance(value, datetime.time):
raise exceptions.BadValueError("In field {}, expected time, got {!r}".format(self._name, value))
raise exceptions.BadValueError(
"In field {}, expected time, got {!r}".format(self._name, value)
)

def _to_base_type(self, value):
"""Convert a value to the "base" value type for this property.
Expand Down Expand Up @@ -4399,7 +4428,9 @@ def _validate(self, value):

if not isinstance(value, self._model_class):
raise exceptions.BadValueError(
"In field {}, expected {}, got {!r}".format(self._name, self._model_class.__name__, value)
"In field {}, expected {}, got {!r}".format(
self._name, self._model_class.__name__, value
)
)

def _get_for_dict(self, entity):
Expand Down