Author: benjamin.peterson Date: Mon Mar 9 01:07:03 2009 New Revision: 70251 Log: give TextIOWrapper a repr that tells you the encoding Modified: python/branches/py3k/Lib/_pyio.py python/branches/py3k/Lib/test/test_io.py python/branches/py3k/Modules/_textio.c Modified: python/branches/py3k/Lib/_pyio.py ============================================================================== --- python/branches/py3k/Lib/_pyio.py (original) +++ python/branches/py3k/Lib/_pyio.py Mon Mar 9 01:07:03 2009 @@ -1399,6 +1399,9 @@ # - "bytes_..." for integer variables that count input bytes # - "chars_..." for integer variables that count decoded characters + def __repr__(self): + return "<TextIOWrapper encoding={0}>".format(self.encoding) + @property def encoding(self): return self._encoding Modified: python/branches/py3k/Lib/test/test_io.py ============================================================================== --- python/branches/py3k/Lib/test/test_io.py (original) +++ python/branches/py3k/Lib/test/test_io.py Mon Mar 9 01:07:03 2009 @@ -1354,6 +1354,12 @@ self.assertRaises(TypeError, t.__init__, b, newline=42) self.assertRaises(ValueError, t.__init__, b, newline='xyzzy') + def test_repr(self): + raw = self.BytesIO("hello".encode("utf-8")) + b = self.BufferedReader(raw) + t = self.TextIOWrapper(b, encoding="utf-8") + self.assertEqual(repr(t), "<TextIOWrapper encoding=utf-8>") + def test_line_buffering(self): r = self.BytesIO() b = self.BufferedWriter(r, 1000) Modified: python/branches/py3k/Modules/_textio.c ============================================================================== --- python/branches/py3k/Modules/_textio.c (original) +++ python/branches/py3k/Modules/_textio.c Mon Mar 9 01:07:03 2009 @@ -2171,6 +2171,14 @@ return PyObject_CallMethodObjArgs(self->buffer, _PyIO_str_truncate, NULL); } +static PyObject * +TextIOWrapper_repr(PyTextIOWrapperObject *self) +{ + CHECK_INITIALIZED(self); + return PyUnicode_FromFormat("<TextIOWrapper encoding=%S>", self->encoding); +} + + /* Inquiries */ static PyObject * @@ -2372,9 +2380,9 @@ (destructor)TextIOWrapper_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ - 0, /*tp_setattr*/ + 0, /*tps_etattr*/ 0, /*tp_compare */ - 0, /*tp_repr*/ + (reprfunc)TextIOWrapper_repr,/*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4