From 3ade6f9007d72adaad0979721b2f39303c71618f Mon Sep 17 00:00:00 2001 From: Alexandre Vassalotti Date: Thu, 12 Jun 2008 01:13:54 +0000 Subject: Fixed test_tempfile. Added the encoding, errors, line_buffering attribute to io.StringIO make more compatible with TextIOWrapper's API. --- Lib/io.py | 16 ++++++++++++++++ Lib/tempfile.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Lib/io.py b/Lib/io.py index f543e20..ef0ce1a 100644 --- a/Lib/io.py +++ b/Lib/io.py @@ -1839,6 +1839,22 @@ try: raise UnsupportedOperation("%s.buffer attribute is unsupported" % self.__class__.__name__) + # XXX Cruft to support the TextIOWrapper API. This would only + # be meaningful if StringIO supported the buffer attribute. + # Hopefully, a better solution, than adding these pseudo-attributes, + # will be found. + @property + def encoding(self): + return "utf-8" + + @property + def errors(self): + return "strict" + + @property + def line_buffering(self): + return False + def _decode_newlines(self, input, final=False): # decode input (with the eventual \r from a previous pass) if self._pending: diff --git a/Lib/tempfile.py b/Lib/tempfile.py index 2caa56a..74e3cb2 100644 --- a/Lib/tempfile.py +++ b/Lib/tempfile.py @@ -502,7 +502,7 @@ class SpooledTemporaryFile: # Setting newline="\n" avoids newline translation; # this is important because otherwise on Windows we'd # hget double newline translation upon rollover(). - self._file = _io.StringIO(encoding=encoding, newline="\n") + self._file = _io.StringIO(newline="\n") self._max_size = max_size self._rolled = False self._TemporaryFileArgs = {'mode': mode, 'buffering': buffering, -- cgit v0.12