[Python-checkins] cpython (merge 3.3 -> default): Issue #18743: Fix references to non-existant "StringIO" module

serhiy.storchaka python-checkins at python.org
Thu Aug 29 10:46:59 CEST 2013


http://hg.python.org/cpython/rev/676bbd5b0254
changeset:   85442:676bbd5b0254
parent:      85439:32b59d122989
parent:      85441:6c0f5af2f5a5
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Thu Aug 29 11:39:48 2013 +0300
summary:
  Issue #18743: Fix references to non-existant "StringIO" module
in docstrings and comments.

files:
  Lib/asynchat.py          |   9 +++------
  Lib/gzip.py              |   2 +-
  Lib/tempfile.py          |   2 +-
  Lib/test/pickletester.py |   4 ++--
  Lib/test/test_httplib.py |   8 ++++----
  Lib/test/test_logging.py |  10 +---------
  Misc/NEWS                |   2 ++
  Tools/gdb/libpython.py   |   2 +-
  8 files changed, 15 insertions(+), 24 deletions(-)


diff --git a/Lib/asynchat.py b/Lib/asynchat.py
--- a/Lib/asynchat.py
+++ b/Lib/asynchat.py
@@ -69,12 +69,9 @@
         # for string terminator matching
         self.ac_in_buffer = b''
 
-        # we use a list here rather than cStringIO for a few reasons...
-        # del lst[:] is faster than sio.truncate(0)
-        # lst = [] is faster than sio.truncate(0)
-        # cStringIO will be gaining unicode support in py3k, which
-        # will negatively affect the performance of bytes compared to
-        # a ''.join() equivalent
+        # we use a list here rather than io.BytesIO for a few reasons...
+        # del lst[:] is faster than bio.truncate(0)
+        # lst = [] is faster than bio.truncate(0)
         self.incoming = []
 
         # we toss the use of the "simple producer" and replace it with
diff --git a/Lib/gzip.py b/Lib/gzip.py
--- a/Lib/gzip.py
+++ b/Lib/gzip.py
@@ -141,7 +141,7 @@
         non-trivial value.
 
         The new class instance is based on fileobj, which can be a regular
-        file, a StringIO object, or any other object which simulates a file.
+        file, an io.BytesIO object, or any other object which simulates a file.
         It defaults to None, in which case filename is opened to provide
         a file object.
 
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -501,7 +501,7 @@
 
     # The method caching trick from NamedTemporaryFile
     # won't work here, because _file may change from a
-    # _StringIO instance to a real file. So we list
+    # BytesIO/StringIO instance to a real file. So we list
     # all the methods directly.
 
     # Context management protocol
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -1552,14 +1552,14 @@
         pickler.dump(data)
         first_pickled = f.getvalue()
 
-        # Reset StringIO object.
+        # Reset BytesIO object.
         f.seek(0)
         f.truncate()
 
         pickler.dump(data)
         second_pickled = f.getvalue()
 
-        # Reset the Pickler and StringIO objects.
+        # Reset the Pickler and BytesIO objects.
         pickler.clear_memo()
         f.seek(0)
         f.truncate()
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -53,8 +53,8 @@
     def close(self):
         pass
 
-class NoEOFStringIO(io.BytesIO):
-    """Like StringIO, but raises AssertionError on EOF.
+class NoEOFBytesIO(io.BytesIO):
+    """Like BytesIO, but raises AssertionError on EOF.
 
     This is used below to test that http.client doesn't try to read
     more from the underlying file than it should.
@@ -326,7 +326,7 @@
             'HTTP/1.1 200 OK\r\n'
             'Content-Length: 14432\r\n'
             '\r\n',
-            NoEOFStringIO)
+            NoEOFBytesIO)
         resp = client.HTTPResponse(sock, method="HEAD")
         resp.begin()
         if resp.read():
@@ -339,7 +339,7 @@
             'HTTP/1.1 200 OK\r\n'
             'Content-Length: 14432\r\n'
             '\r\n',
-            NoEOFStringIO)
+            NoEOFBytesIO)
         resp = client.HTTPResponse(sock, method="HEAD")
         resp.begin()
         b = bytearray(5)
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -160,15 +160,7 @@
         the expected_values list of tuples."""
         stream = stream or self.stream
         pat = re.compile(pat or self.expected_log_pat)
-        try:
-            if hasattr(stream, 'reset'):
-                stream.reset()
-            elif hasattr(stream, 'seek'):
-                stream.seek(0)
-            actual_lines = stream.readlines()
-        except AttributeError:
-            # StringIO.StringIO lacks a reset() method.
-            actual_lines = stream.getvalue().splitlines()
+        actual_lines = stream.getvalue().splitlines()
         self.assertEqual(len(actual_lines), len(expected_values))
         for actual, expected in zip(actual_lines, expected_values):
             match = pat.search(actual)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -160,6 +160,8 @@
 Documentation
 -------------
 
+- Issue #18743: Fix references to non-existant "StringIO" module.
+
 - Issue #18783: Removed existing mentions of Python long type in docstrings,
   error messages and comments.
 
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -121,7 +121,7 @@
     pass
 
 class TruncatedStringIO(object):
-    '''Similar to cStringIO, but can truncate the output by raising a
+    '''Similar to io.StringIO, but can truncate the output by raising a
     StringTruncated exception'''
     def __init__(self, maxlen=None):
         self._val = ''

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list