diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-06-06 18:02:12 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-06-06 18:02:12 (GMT) |
commit | 0926ad1f05f06233a7595b9f837cc3c5ee5fe46d (patch) | |
tree | 7bc723cd73aaaa3557b9da6d4e6ecc979aaa57ec /Modules/_io | |
parent | 3bbbf18a38ad2af62a090692acb6f1299baf9aba (diff) | |
download | cpython-0926ad1f05f06233a7595b9f837cc3c5ee5fe46d.zip cpython-0926ad1f05f06233a7595b9f837cc3c5ee5fe46d.tar.gz cpython-0926ad1f05f06233a7595b9f837cc3c5ee5fe46d.tar.bz2 |
give the C implementation of TextIOWrapper the errors property #6217
Diffstat (limited to 'Modules/_io')
-rw-r--r-- | Modules/_io/stringio.c | 18 | ||||
-rw-r--r-- | Modules/_io/textio.c | 21 |
2 files changed, 21 insertions, 18 deletions
diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c index 136f41d..a0d8a51 100644 --- a/Modules/_io/stringio.c +++ b/Modules/_io/stringio.c @@ -661,22 +661,6 @@ stringio_closed(StringIOObject *self, void *context) } static PyObject * -stringio_encoding(StringIOObject *self, void *context) -{ - CHECK_INITIALIZED(self); - CHECK_CLOSED(self); - Py_RETURN_NONE; -} - -static PyObject * -stringio_errors(StringIOObject *self, void *context) -{ - CHECK_INITIALIZED(self); - CHECK_CLOSED(self); - return PyUnicode_FromString("strict"); -} - -static PyObject * stringio_line_buffering(StringIOObject *self, void *context) { CHECK_INITIALIZED(self); @@ -720,8 +704,6 @@ static PyGetSetDef stringio_getset[] = { will be found. */ {"buffer", (getter)stringio_buffer, NULL, NULL}, - {"encoding", (getter)stringio_encoding, NULL, NULL}, - {"errors", (getter)stringio_errors, NULL, NULL}, {"line_buffering", (getter)stringio_line_buffering, NULL, NULL}, {NULL} }; diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c index c8d2833..3ec8be6 100644 --- a/Modules/_io/textio.c +++ b/Modules/_io/textio.c @@ -104,6 +104,18 @@ TextIOBase_newlines_get(PyObject *self, void *context) Py_RETURN_NONE; } +PyDoc_STRVAR(TextIOBase_errors_doc, + "The error setting of the decoder or encoder.\n" + "\n" + "Subclasses should override.\n" + ); + +static PyObject * +TextIOBase_errors_get(PyObject *self, void *context) +{ + Py_RETURN_NONE; +} + static PyMethodDef TextIOBase_methods[] = { {"detach", (PyCFunction)TextIOBase_detach, METH_NOARGS, TextIOBase_detach_doc}, @@ -116,6 +128,7 @@ static PyMethodDef TextIOBase_methods[] = { static PyGetSetDef TextIOBase_getset[] = { {"encoding", (getter)TextIOBase_encoding_get, NULL, TextIOBase_encoding_doc}, {"newlines", (getter)TextIOBase_newlines_get, NULL, TextIOBase_newlines_doc}, + {"errors", (getter)TextIOBase_errors_get, NULL, TextIOBase_errors_doc}, {NULL} }; @@ -2462,6 +2475,13 @@ TextIOWrapper_newlines_get(PyTextIOWrapperObject *self, void *context) } static PyObject * +TextIOWrapper_errors_get(PyTextIOWrapperObject *self, void *context) +{ + CHECK_INITIALIZED(self); + return PyUnicode_FromString(PyBytes_AS_STRING(self->errors)); +} + +static PyObject * TextIOWrapper_chunk_size_get(PyTextIOWrapperObject *self, void *context) { CHECK_INITIALIZED(self); @@ -2519,6 +2539,7 @@ static PyGetSetDef TextIOWrapper_getset[] = { /* {"mode", (getter)TextIOWrapper_mode_get, NULL, NULL}, */ {"newlines", (getter)TextIOWrapper_newlines_get, NULL, NULL}, + {"errors", (getter)TextIOWrapper_errors_get, NULL, NULL}, {"_CHUNK_SIZE", (getter)TextIOWrapper_chunk_size_get, (setter)TextIOWrapper_chunk_size_set, NULL}, {NULL} |