From: Guido van Rossum Date: Thu, 24 May 2007 17:58:06 +0000 (+0000) Subject: Add an encoding property to TextIOBase instances. X-Git-Tag: v3.0a1~874 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fc3436becdc2b0c214afc2d9190e4114fb1a5254;p=thirdparty%2FPython%2Fcpython.git Add an encoding property to TextIOBase instances. Add sys.__std{in,out,err}__. Make test_sys pass. --- diff --git a/Lib/io.py b/Lib/io.py index 072b756e0dab..67049e63b441 100644 --- a/Lib/io.py +++ b/Lib/io.py @@ -925,6 +925,11 @@ class TextIOBase(IOBase): raise StopIteration return line + @property + def encoding(self): + """Subclasses should override.""" + return None + # The following are provided for backwards compatibility def readlines(self, hint=None): @@ -970,6 +975,10 @@ class TextIOWrapper(TextIOBase): self._snapshot = None self._seekable = self._telling = self.buffer.seekable() + @property + def encoding(self): + return self._encoding + # A word about _snapshot. This attribute is either None, or a # tuple (decoder_state, readahead, pending) where decoder_state is # the second (integer) item of the decoder state, readahead is the diff --git a/Lib/site.py b/Lib/site.py index e00890ead972..f7ca83b3805c 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -411,9 +411,9 @@ def installnewio(): def __new__(cls, *args, **kwds): return io.open(*args, **kwds) __builtin__.open = open - sys.stdin = io.open(0, "r") - sys.stdout = io.open(1, "w") - sys.stderr = io.open(2, "w") + sys.__stdin__ = sys.stdin = io.open(0, "r") + sys.__stdout__ = sys.stdout = io.open(1, "w") + sys.__stderr__ = sys.stderr = io.open(2, "w") def main():