mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
#16518: Bring error messages in harmony with docs ("bytes-like object")
Some time ago we changed the docs to consistently use the term 'bytes-like object' in all the contexts where bytes, bytearray, memoryview, etc are used. This patch (by Ezio Melotti) completes that work by changing the error messages that previously reported that certain types did "not support the buffer interface" to instead say that a bytes-like object is required. (The glossary entry for bytes-like object references the discussion of the buffer protocol in the docs.)
This commit is contained in:
parent
d577cea8ab
commit
861470c836
11 changed files with 30 additions and 22 deletions
|
@ -260,8 +260,7 @@ PyObject_AsCharBuffer(PyObject *obj,
|
|||
pb = obj->ob_type->tp_as_buffer;
|
||||
if (pb == NULL || pb->bf_getbuffer == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"expected bytes, bytearray "
|
||||
"or buffer compatible object");
|
||||
"expected a bytes-like object");
|
||||
return -1;
|
||||
}
|
||||
if ((*pb->bf_getbuffer)(obj, &view, PyBUF_SIMPLE)) return -1;
|
||||
|
@ -306,7 +305,7 @@ int PyObject_AsReadBuffer(PyObject *obj,
|
|||
if (pb == NULL ||
|
||||
pb->bf_getbuffer == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"expected an object with a buffer interface");
|
||||
"expected a bytes-like object");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -336,7 +335,7 @@ int PyObject_AsWriteBuffer(PyObject *obj,
|
|||
pb->bf_getbuffer == NULL ||
|
||||
((*pb->bf_getbuffer)(obj, &view, PyBUF_WRITABLE) != 0)) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"expected an object with a writable buffer interface");
|
||||
"expected a writable bytes-like object");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -355,7 +354,7 @@ PyObject_GetBuffer(PyObject *obj, Py_buffer *view, int flags)
|
|||
{
|
||||
if (!PyObject_CheckBuffer(obj)) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"'%.100s' does not support the buffer interface",
|
||||
"a bytes-like object is required, not '%.100s'",
|
||||
Py_TYPE(obj)->tp_name);
|
||||
return -1;
|
||||
}
|
||||
|
@ -530,8 +529,8 @@ int PyObject_CopyData(PyObject *dest, PyObject *src)
|
|||
if (!PyObject_CheckBuffer(dest) ||
|
||||
!PyObject_CheckBuffer(src)) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"both destination and source must have the "\
|
||||
"buffer interface");
|
||||
"both destination and source must be "\
|
||||
"bytes-like objects");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue