]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Get autoreload working in py3 without 2to3.
authorBen Darnell <ben@bendarnell.com>
Mon, 14 Jan 2013 02:19:45 +0000 (21:19 -0500)
committerBen Darnell <ben@bendarnell.com>
Mon, 14 Jan 2013 02:19:45 +0000 (21:19 -0500)
tornado/autoreload.py
tornado/ioloop.py
tornado/util.py

index 7aa153c18e6f8a3afb2df70280e02886c2e27cf5..e7b86f055fe9c0558855113cf70367f1cf50ff10 100644 (file)
@@ -79,6 +79,7 @@ import weakref
 from tornado import ioloop
 from tornado.log import gen_log
 from tornado import process
+from tornado.util import exec_in
 
 try:
     import signal
@@ -277,7 +278,7 @@ def main():
                 # Use globals as our "locals" dictionary so that
                 # something that tries to import __main__ (e.g. the unittest
                 # module) will see the right things.
-                exec f.read() in globals(), globals()
+                exec_in(f.read(), globals(), globals())
     except SystemExit as e:
         logging.basicConfig()
         gen_log.info("Script exited with status %s", e.code)
index d114107e30ef45e921c89c0a8122435719fbd82d..3b6f2769602a83b3d1c83ca64f457580fef475ff 100644 (file)
@@ -33,6 +33,7 @@ import errno
 import functools
 import heapq
 import logging
+import numbers
 import os
 import select
 import sys
@@ -654,7 +655,7 @@ class _Timeout(object):
     __slots__ = ['deadline', 'callback']
 
     def __init__(self, deadline, callback, io_loop):
-        if isinstance(deadline, (int, long, float)):
+        if isinstance(deadline, numbers.Real):
             self.deadline = deadline
         elif isinstance(deadline, datetime.timedelta):
             self.deadline = io_loop.time() + _Timeout.timedelta_to_seconds(deadline)
index 3a7a0bfd23960654b7e5fd8cdbabecb785688ca7..988331d9ed538cf5ceae2ab3363c64b1b6e006fd 100644 (file)
@@ -114,16 +114,16 @@ if sys.version_info > (3,):
 def raise_exc_info(exc_info):
     raise exc_info[1].with_traceback(exc_info[2])
 
-def exec_in(code, namespace):
-    exec(code, namespace)
+def exec_in(code, glob, loc=None):
+    exec(code, glob, loc)
 """)
 else:
     exec("""
 def raise_exc_info(exc_info):
     raise exc_info[0], exc_info[1], exc_info[2]
 
-def exec_in(code, namespace):
-    exec code in namespace
+def exec_in(code, glob, loc=None):
+    exec code in glob, loc
 """)
 
 class Configurable(object):