[Checkins] SVN: zope.tal/trunk/src/zope/tal/ Towards Py3K: use io.StringIO

Marius Gedminas cvs-admin at zope.org
Thu Feb 7 23:04:56 UTC 2013


Log message for revision 129194:
  Towards Py3K: use io.StringIO
  
  While Python 2.6+ also has io.StringIO(), using it causes numerous test
  failures -- because io.StringIO() insists on unicode, and our tests are
  full of (ASCII-only) native string literals.  For this reason I decided
  to keep using StringIO.StringIO or cStringIO.StringIO on Python 2.x.

Changed:
  U   zope.tal/trunk/src/zope/tal/dummyengine.py
  U   zope.tal/trunk/src/zope/tal/runtest.py
  U   zope.tal/trunk/src/zope/tal/tests/test_sourcepos.py
  U   zope.tal/trunk/src/zope/tal/tests/test_talgettext.py
  U   zope.tal/trunk/src/zope/tal/tests/test_talinterpreter.py

-=-
Modified: zope.tal/trunk/src/zope/tal/dummyengine.py
===================================================================
--- zope.tal/trunk/src/zope/tal/dummyengine.py	2013-02-07 23:04:52 UTC (rev 129193)
+++ zope.tal/trunk/src/zope/tal/dummyengine.py	2013-02-07 23:04:56 UTC (rev 129194)
@@ -15,6 +15,13 @@
 """
 import re
 
+try:
+    # Python 2.x
+    from StringIO import StringIO
+except ImportError:
+    # Python 3.x
+    from io import StringIO
+
 from zope.interface import implementer
 from zope.tal.taldefs import NAME_RE, TALExpressionError, ErrorInfo
 from zope.tal.interfaces import ITALExpressionCompiler, ITALExpressionEngine
@@ -209,7 +216,7 @@
             locals = self.locals.copy()
 
         assert lang == 'text/server-python'
-        import sys, StringIO
+        import sys
 
         # Removing probable comments
         if code.strip().startswith('<!--') and code.strip().endswith('-->'):
@@ -223,7 +230,7 @@
         if code.startswith(' ') or code.startswith('\t'):
             code = 'if 1 == 1:\n' + code + '\n'
         tmp = sys.stdout
-        sys.stdout = StringIO.StringIO()
+        sys.stdout = StringIO()
         try:
             exec(code, globals, locals)
         finally:

Modified: zope.tal/trunk/src/zope/tal/runtest.py
===================================================================
--- zope.tal/trunk/src/zope/tal/runtest.py	2013-02-07 23:04:52 UTC (rev 129193)
+++ zope.tal/trunk/src/zope/tal/runtest.py	2013-02-07 23:04:56 UTC (rev 129194)
@@ -23,7 +23,12 @@
 import traceback
 import difflib
 
-from cStringIO import StringIO
+try:
+    # Python 2.x
+    from cStringIO import StringIO
+except ImportError:
+    # Python 3.x
+    from io import StringIO
 
 if __name__ == "__main__":
     from . import setpath               # Local hack to tweak sys.path etc.

Modified: zope.tal/trunk/src/zope/tal/tests/test_sourcepos.py
===================================================================
--- zope.tal/trunk/src/zope/tal/tests/test_sourcepos.py	2013-02-07 23:04:52 UTC (rev 129193)
+++ zope.tal/trunk/src/zope/tal/tests/test_sourcepos.py	2013-02-07 23:04:56 UTC (rev 129194)
@@ -15,7 +15,12 @@
 """
 import unittest
 
-from StringIO import StringIO
+try:
+    # Python 2.x
+    from StringIO import StringIO
+except ImportError:
+    # Python 3.x
+    from io import StringIO
 
 from zope.tal.htmltalparser import HTMLTALParser
 from zope.tal.talinterpreter import TALInterpreter

Modified: zope.tal/trunk/src/zope/tal/tests/test_talgettext.py
===================================================================
--- zope.tal/trunk/src/zope/tal/tests/test_talgettext.py	2013-02-07 23:04:52 UTC (rev 129193)
+++ zope.tal/trunk/src/zope/tal/tests/test_talgettext.py	2013-02-07 23:04:56 UTC (rev 129194)
@@ -15,8 +15,14 @@
 """
 import sys
 import unittest
-from StringIO import StringIO
 
+try:
+    # Python 2.x
+    from StringIO import StringIO
+except ImportError:
+    # Python 3.x
+    from io import StringIO
+
 from zope.tal.htmltalparser import HTMLTALParser
 from zope.tal.talgettext import POTALInterpreter
 from zope.tal.talgettext import POEngine

Modified: zope.tal/trunk/src/zope/tal/tests/test_talinterpreter.py
===================================================================
--- zope.tal/trunk/src/zope/tal/tests/test_talinterpreter.py	2013-02-07 23:04:52 UTC (rev 129193)
+++ zope.tal/trunk/src/zope/tal/tests/test_talinterpreter.py	2013-02-07 23:04:56 UTC (rev 129194)
@@ -18,7 +18,12 @@
 import sys
 import unittest
 
-from StringIO import StringIO
+try:
+    # Python 2.x
+    from StringIO import StringIO
+except ImportError:
+    # Python 3.x
+    from io import StringIO
 
 from zope.tal.taldefs import METALError, I18NError, TAL_VERSION
 from zope.tal.taldefs import TALExpressionError



More information about the checkins mailing list