Skip to content

Commit 7a1fc8d

Browse files
committed
Simplify shelve error message on validation of serialization
1 parent f48a3c7 commit 7a1fc8d

2 files changed

Lines changed: 3 additions & 7 deletions

File tree

Lib/shelve.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,7 @@ def _validate_serialized_value(serialized_value, original_value):
114114
invalid_type = "None"
115115
else:
116116
invalid_type = type(serialized_value).__name__
117-
msg = (f"Serializer returned {serialized_value!r} for value "
118-
f"{original_value!r}, but database values must be "
119-
f"bytes or str, not {invalid_type}")
117+
msg = f"Serializer must return bytes or str, not {invalid_type}"
120118
raise ShelveError(msg)
121119

122120
def __iter__(self):

Lib/test/test_shelve.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,16 +468,14 @@ def deserializer(data):
468468
deserializer=deserializer) as s:
469469
with self.assertRaises(shelve.ShelveError) as cm:
470470
s["key"] = "value"
471-
self.assertEqual("Serializer returned None for value 'value', but "
472-
"database values must be bytes or str, not None",
471+
self.assertEqual("Serializer must return bytes or str, not None",
473472
f"{cm.exception}")
474473

475474
with shelve.open(self.fname, serializer=int_serializer,
476475
deserializer=deserializer,) as s:
477476
with self.assertRaises(shelve.ShelveError) as cm:
478477
s["key"] = "value"
479-
self.assertEqual("Serializer returned 3 for value 'value', but "
480-
"database values must be bytes or str, not int",
478+
self.assertEqual("Serializer must return bytes or str, not int",
481479
f"{cm.exception}")
482480

483481
def test_shelve_type_compatibility(self):

0 commit comments

Comments
 (0)