Skip to content

Commit 594daca

Browse files
committed
Reword error messages more
1 parent 8400b23 commit 594daca

4 files changed

Lines changed: 13 additions & 13 deletions

File tree

Lib/shelve.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ 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 {invalid_type} for value "
118-
f"{original_value!r} But database values must be "
117+
msg = (f"Serializer returned {serialized_value!r} for value "
118+
f"{original_value!r}, but database values must be "
119119
f"bytes or str, not {invalid_type}")
120120
raise ShelveError(msg)
121121

Lib/test/test_shelve.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,16 +468,16 @@ 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' "
472-
"But database values must be bytes or str, not None",
471+
self.assertEqual("Serializer returned None for value 'value', but "
472+
"database values must be bytes or str, not None",
473473
f"{cm.exception}")
474474

475475
with shelve.open(self.fname, serializer=int_serializer,
476476
deserializer=deserializer,) as s:
477477
with self.assertRaises(shelve.ShelveError) as cm:
478478
s["key"] = "value"
479-
self.assertEqual("Serializer returned int for value 'value' "
480-
"But database values must be bytes or str, not int",
479+
self.assertEqual("Serializer returned 3 for value 'value', but "
480+
"database values must be bytes or str, not int",
481481
f"{cm.exception}")
482482

483483
def test_shelve_type_compatibility(self):

Modules/_dbmmodule.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,8 @@ dbm_ass_sub_lock_held(PyObject *self, PyObject *v, PyObject *w)
232232

233233
if ( !PyArg_Parse(v, "s#", &krec.dptr, &tmp_size) ) {
234234
PyErr_Format(PyExc_TypeError,
235-
"dbm key returned %.100s for value %R But database keys must be bytes or str, not %.100s",
236-
Py_TYPE(v)->tp_name, v, Py_TYPE(v)->tp_name);
235+
"database keys must be bytes or str, not %T",
236+
v);
237237
return -1;
238238
}
239239
_dbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
@@ -260,8 +260,8 @@ dbm_ass_sub_lock_held(PyObject *self, PyObject *v, PyObject *w)
260260
} else {
261261
if ( !PyArg_Parse(w, "s#", &drec.dptr, &tmp_size) ) {
262262
PyErr_Format(PyExc_TypeError,
263-
"dbm value returned %.100s for value %R But database values must be bytes or str, not %.100s",
264-
Py_TYPE(w)->tp_name, w, Py_TYPE(w)->tp_name);
263+
"database values must be bytes or str, not %T",
264+
w);
265265
return -1;
266266
}
267267
drec.dsize = tmp_size;

Modules/_gdbmmodule.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ parse_datum(PyObject *o, datum *d, const char *failmsg)
242242
Py_ssize_t size;
243243
if (!PyArg_Parse(o, "s#", &d->dptr, &size)) {
244244
if (failmsg != NULL) {
245-
PyErr_Format(PyExc_TypeError, failmsg, Py_TYPE(o)->tp_name, o, Py_TYPE(o)->tp_name);
245+
PyErr_Format(PyExc_TypeError, failmsg, o);
246246
}
247247
return 0;
248248
}
@@ -318,8 +318,8 @@ static int
318318
gdbm_ass_sub_lock_held(PyObject *op, PyObject *v, PyObject *w)
319319
{
320320
datum krec, drec;
321-
const char *key_failmsg = "dbm key returned %.100s for value %R But database keys must be bytes or str, not %.100s";
322-
const char *value_failmsg = "dbm value returned %.100s for value %R But database keys must be bytes or str, not %.100s";
321+
const char *key_failmsg = "database keys must be bytes or str, not %T";
322+
const char *value_failmsg = "database values must be bytes or str, not %T";
323323
gdbmobject *dp = _gdbmobject_CAST(op);
324324
_gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
325325

0 commit comments

Comments
 (0)