summaryrefslogtreecommitdiff
path: root/eventlet
diff options
context:
space:
mode:
author郭旭星Astrum Kuo <guoxuxing@meituan.com>2014-04-01 17:51:44 +0800
committerSergey Shepelev <temotor@gmail.com>2014-04-02 15:27:08 +0400
commit5399fbda9df91d546a6f814030cdd9e225f83230 (patch)
tree20d4189be1bf2a09f161b1e927127417ce3cbc6b /eventlet
parent983d478eafb6c563b7954ad5e547ea728a7386d6 (diff)
downloadeventlet-5399fbda9df91d546a6f814030cdd9e225f83230.tar.gz
python3 compat fixes; Thanks to Astrum Kuo
https://github.com/eventlet/eventlet/pull/82 Celery could work with eventlet in Python3 now
Diffstat (limited to 'eventlet')
-rw-r--r--eventlet/green/select.py2
-rw-r--r--eventlet/green/thread.py2
-rw-r--r--eventlet/hubs/kqueue.py9
-rw-r--r--eventlet/patcher.py6
4 files changed, 11 insertions, 8 deletions
diff --git a/eventlet/green/select.py b/eventlet/green/select.py
index 54a28a7..6e91115 100644
--- a/eventlet/green/select.py
+++ b/eventlet/green/select.py
@@ -74,7 +74,7 @@ def select(read_list, write_list, error_list, timeout=None):
if timeout is not None:
timers.append(hub.schedule_call_global(timeout, on_timeout))
try:
- for k, v in ds.iteritems():
+ for k, v in six.iteritems(ds):
if v.get('read'):
listeners.append(hub.add(hub.READ, k, on_read))
if v.get('write'):
diff --git a/eventlet/green/thread.py b/eventlet/green/thread.py
index 126651a..9e15b8d 100644
--- a/eventlet/green/thread.py
+++ b/eventlet/green/thread.py
@@ -1,5 +1,5 @@
"""Implements the standard thread module, using greenthreads."""
-__thread = __import__('thread')
+from eventlet.support.six.moves import _thread as __thread
from eventlet.support import greenlets as greenlet
from eventlet import greenthread
from eventlet.semaphore import Semaphore as LockType
diff --git a/eventlet/hubs/kqueue.py b/eventlet/hubs/kqueue.py
index 00a1a57..2cdcd70 100644
--- a/eventlet/hubs/kqueue.py
+++ b/eventlet/hubs/kqueue.py
@@ -1,6 +1,7 @@
import os
import sys
from eventlet import patcher
+from eventlet.support import six
select = patcher.original('select')
time = patcher.original('time')
sleep = time.sleep
@@ -33,8 +34,8 @@ class Hub(BaseHub):
self.kqueue.close()
self._init_kqueue()
kqueue = self.kqueue
- events = [e for i in self._events.itervalues()
- for e in i.itervalues()]
+ events = [e for i in six.itervalues(self._events)
+ for e in six.itervalues(i)]
kqueue.control(events, 0, 0)
def _control(self, events, max_events, timeout):
@@ -62,8 +63,8 @@ class Hub(BaseHub):
return listener
def _delete_events(self, events):
- del_events = map(lambda e: select.kevent(e.ident, e.filter,
- select.KQ_EV_DELETE), events)
+ del_events = [select.kevent(e.ident, e.filter, select.KQ_EV_DELETE)
+ for e in events]
self._control(del_events, 0, 0)
def remove(self, listener):
diff --git a/eventlet/patcher.py b/eventlet/patcher.py
index 0af4aa2..ee8832f 100644
--- a/eventlet/patcher.py
+++ b/eventlet/patcher.py
@@ -217,7 +217,7 @@ def monkey_patch(**on):
accepted_args = set(('os', 'select', 'socket',
'thread', 'time', 'psycopg', 'MySQLdb'))
default_on = on.pop("all",None)
- for k in on.iterkeys():
+ for k in six.iterkeys(on):
if k not in accepted_args:
raise TypeError("monkey_patch() got an unexpected "\
"keyword argument %r" % k)
@@ -344,4 +344,6 @@ if __name__ == "__main__":
import sys
sys.argv.pop(0)
monkey_patch()
- execfile(sys.argv[0])
+ with open(sys.argv[0]) as f:
+ code = compile(f.read(), sys.argv[0], 'exec')
+ exec(code)