summaryrefslogtreecommitdiffstats
path: root/Lib/io.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-08-09 01:03:29 (GMT)
committerGuido van Rossum <guido@python.org>2007-08-09 01:03:29 (GMT)
commit34d1928766bcae11d8f679a6bf361d9210b6429e (patch)
tree0b3d5842a690f811fa03f3b52420bbab9f0f5524 /Lib/io.py
parent918f49e645474382251bfddbb0a2e030051083ef (diff)
downloadcpython-34d1928766bcae11d8f679a6bf361d9210b6429e.zip
cpython-34d1928766bcae11d8f679a6bf361d9210b6429e.tar.gz
cpython-34d1928766bcae11d8f679a6bf361d9210b6429e.tar.bz2
SF patch# 1770008 by Christian Heimes (plus some extras).
Completely get rid of StringIO.py and cStringIO.c. I had to fix a few tests and modules beyond what Christian did, and invent a few conventions. E.g. in elementtree, I chose to write/return Unicode strings whe no encoding is given, but bytes when an explicit encoding is given. Also mimetools was made to always assume binary files.
Diffstat (limited to 'Lib/io.py')
-rw-r--r--Lib/io.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/Lib/io.py b/Lib/io.py
index 43695be..1ee465a 100644
--- a/Lib/io.py
+++ b/Lib/io.py
@@ -303,6 +303,8 @@ class IOBase:
Returns False if we don't know.
"""
+ if self.closed:
+ raise ValueError("isatty() on closed file")
return False
### Readline[s] and writelines ###
@@ -1239,8 +1241,11 @@ class StringIO(TextIOWrapper):
encoding=encoding,
newline=newline)
if initial_value:
+ if not isinstance(initial_value, basestring):
+ initial_value = str(initial_value)
self.write(initial_value)
self.seek(0)
def getvalue(self):
+ self.flush()
return self.buffer.getvalue().decode(self._encoding)