[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