]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
fix python2.7 / python3 incompatibilities
authorPierce Lopez <pierce.lopez@gmail.com>
Mon, 1 Jan 2018 20:01:22 +0000 (15:01 -0500)
committerPierce Lopez <pierce.lopez@gmail.com>
Tue, 2 Jan 2018 20:28:11 +0000 (15:28 -0500)
convert remaining uses of python2 print statement to print function
add "xrange = range" for python3 where needed
add "ResourceWarning = None" for python2 where needed
a bit of long/unicode type aliasing

such issues only remained in tests/demos

demos/benchmark/chunk_benchmark.py
demos/s3server/s3server.py
maint/test/appengine/common/cgi_runtests.py
maint/test/appengine/common/runtests.py
maint/vm/windows/bootstrap.py
tornado/test/runtests.py
tornado/test/twisted_test.py

index ba2e0648a1a62a7659a496292d81077cf286fbc6..4206253c10b01f75971b5367ee926d784f0b64ed 100755 (executable)
@@ -9,6 +9,11 @@ from tornado.ioloop import IOLoop
 from tornado.options import define, options, parse_command_line
 from tornado.web import RequestHandler, Application
 
+try:
+    xrange
+except NameError:
+    xrange = range
+
 define('port', default=8888)
 define('num_chunks', default=1000)
 define('chunk_size', default=2048)
index 6ca104d1ed944a2ed31c79170e170b35fecb213a..f3051a1d3d1b7362776296588babb457eb6d7fef 100644 (file)
@@ -42,6 +42,12 @@ from tornado import escape
 from tornado import httpserver
 from tornado import ioloop
 from tornado import web
+from tornado.util import unicode_type
+
+try:
+    long
+except NameError:
+    long = int
 
 
 def start(port, root_directory="/tmp/s3", bucket_depth=0):
@@ -87,9 +93,9 @@ class BaseRequestHandler(web.RequestHandler):
                     ''.join(parts))
 
     def _render_parts(self, value, parts=[]):
-        if isinstance(value, (unicode, bytes)):
+        if isinstance(value, (unicode_type, bytes)):
             parts.append(escape.xhtml_escape(value))
-        elif isinstance(value, int) or isinstance(value, long):
+        elif isinstance(value, (int, long)):
             parts.append(str(value))
         elif isinstance(value, datetime.datetime):
             parts.append(value.strftime("%Y-%m-%dT%H:%M:%S.000Z"))
index 7041a42d9d21f7073dec0e123408b9d745b351b1..f28aa6ca012b18342b132dd702d92f3ed183c7db 100644 (file)
@@ -1,4 +1,6 @@
 #!/usr/bin/env python
+from __future__ import absolute_import, division, print_function
+
 import sys
 import unittest
 
@@ -42,13 +44,13 @@ def all():
 
 
 def main():
-    print "Content-Type: text/plain\r\n\r\n",
+    print("Content-Type: text/plain\r\n\r\n", end="")
 
     try:
         unittest.main(defaultTest='all', argv=sys.argv[:1])
-    except SystemExit, e:
+    except SystemExit as e:
         if e.code == 0:
-            print "PASS"
+            print("PASS")
         else:
             raise
 
index 364f97190e110a662e2ec08782e2fda1db319b96..ba89a7aa05b29345f66af4fb9a82bc5a89d011b9 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-from __future__ import with_statement
+from __future__ import absolute_import, division, print_function
 
 import contextlib
 import errno
@@ -12,6 +12,11 @@ import sys
 import time
 import urllib2
 
+try:
+    xrange
+except NameError:
+    xrange = range
+
 if __name__ == "__main__":
     tornado_root = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                                 '../../..'))
@@ -39,7 +44,7 @@ if __name__ == "__main__":
             raise Exception("Server didn't start listening")
 
         resp = urllib2.urlopen("http://localhost:%d/" % port)
-        print resp.read()
+        print(resp.read())
     finally:
         # dev_appserver sometimes ignores SIGTERM (especially on 2.5),
         # so try a few times to kill it.
index e795e97f79aa9ed0c9294c2ade0b03f044c078e6..e9f4f7d59d135a4c4e298f8d8b3894f52f8c1994 100644 (file)
@@ -19,6 +19,7 @@ To run the tests with tox, cd to e:\maint\vm\windows and run
 To run under cygwin (which must be installed separately), run
   cd /cygdrive/e; python -m tornado.test.runtests
 """
+from __future__ import absolute_import, division, print_function
 
 import os
 import subprocess
@@ -55,9 +56,9 @@ def main():
     os.chdir(TMPDIR)
     for exe, url in PYTHON_VERSIONS:
         if os.path.exists(exe):
-            print "%s already exists, skipping" % exe
+            print("%s already exists, skipping" % exe)
             continue
-        print "Installing %s" % url
+        print("Installing %s" % url)
         filename = download_to_cache(url)
         # http://blog.jaraco.com/2012/01/how-i-install-python-on-windows.html
         subprocess.check_call(['msiexec', '/i', filename,
index d9842ed751aa7190209b394b00ff1e539c3dcc2b..1bee7972639f0b3d9ed84dfa88816baea048754e 100644 (file)
@@ -126,7 +126,7 @@ def main():
         # and even
         # `python3.4 -W error -c 'import asyncio; asyncio.get_event_loop()'`
         # would generate a warning.
-        warnings.filterwarnings("ignore", category=ResourceWarning,
+        warnings.filterwarnings("ignore", category=ResourceWarning,  # noqa: F821
                                 module=r"asyncio\..*")
 
     logging.getLogger("tornado.access").setLevel(logging.CRITICAL)
index 84a9f44dff24517551ae0c5b2db4173d98a4bc37..4cc062971efb2fca9852ee1b6c93ef80d103cdac 100644 (file)
@@ -67,6 +67,7 @@ if PY3:
     import _thread as thread
 else:
     import thread
+    ResourceWarning = None
 
 try:
     import asyncio