Commit 80c1c7ec authored by Denis Bilenko's avatar Denis Bilenko

remove gevent/six.py: we barely used it

parent 536793df
"""Base class for implementing servers""" """Base class for implementing servers"""
# Copyright (c) 2009-2012 Denis Bilenko. See LICENSE for details. # Copyright (c) 2009-2012 Denis Bilenko. See LICENSE for details.
from gevent.greenlet import Greenlet, getfuncname
from gevent.event import Event
from gevent.six import string_types, integer_types
import gevent
import _socket
import sys import sys
import _socket
import errno import errno
from gevent.greenlet import Greenlet, getfuncname
from gevent.event import Event
from gevent.hub import string_types, integer_types, get_hub
__all__ = ['BaseServer'] __all__ = ['BaseServer']
...@@ -63,7 +62,7 @@ class BaseServer(object): ...@@ -63,7 +62,7 @@ class BaseServer(object):
self.set_spawn(spawn) self.set_spawn(spawn)
self.set_handle(handle) self.set_handle(handle)
self.delay = self.min_delay self.delay = self.min_delay
self.loop = gevent.get_hub().loop self.loop = get_hub().loop
if self.max_accept < 1: if self.max_accept < 1:
raise ValueError('max_accept must be positive int: %r' % (self.max_accept, )) raise ValueError('max_accept must be positive int: %r' % (self.max_accept, ))
except: except:
...@@ -280,7 +279,7 @@ class BaseServer(object): ...@@ -280,7 +279,7 @@ class BaseServer(object):
try: try:
self._stop_event.wait() self._stop_event.wait()
finally: finally:
gevent.spawn(self.stop, timeout=stop_timeout).join() Greenlet.spawn(self.stop, timeout=stop_timeout).join()
def is_fatal_error(self, ex): def is_fatal_error(self, ex):
return isinstance(ex, _socket.error) and ex[0] in self.fatal_errors return isinstance(ex, _socket.error) and ex[0] in self.fatal_errors
......
# Copyright (c) 2009-2012 Denis Bilenko. See LICENSE for details. # Copyright (c) 2009-2012 Denis Bilenko. See LICENSE for details.
import sys import sys
from gevent.hub import greenlet, getcurrent, get_hub, GreenletExit, Waiter from gevent.hub import greenlet, getcurrent, get_hub, GreenletExit, Waiter, PY3
from gevent.timeout import Timeout from gevent.timeout import Timeout
from gevent.six import callable, _meth_self, moves, PY3
__all__ = ['Greenlet', __all__ = ['Greenlet',
...@@ -396,8 +395,13 @@ def _kill(greenlet, exception, waiter): ...@@ -396,8 +395,13 @@ def _kill(greenlet, exception, waiter):
waiter.switch() waiter.switch()
try:
xrange
except NameError:
xrange = range
def joinall(greenlets, timeout=None, raise_error=False, count=None): def joinall(greenlets, timeout=None, raise_error=False, count=None):
xrange = moves.xrange
from gevent.queue import Queue from gevent.queue import Queue
queue = Queue() queue = Queue()
put = queue.put put = queue.put
...@@ -466,6 +470,12 @@ def killall(greenlets, exception=GreenletExit, block=True, timeout=None): ...@@ -466,6 +470,12 @@ def killall(greenlets, exception=GreenletExit, block=True, timeout=None):
loop.run_callback(_killall, greenlets, exception) loop.run_callback(_killall, greenlets, exception)
if PY3:
_meth_self = "__self__"
else:
_meth_self = "im_self"
def getfuncname(func): def getfuncname(func):
if not hasattr(func, _meth_self): if not hasattr(func, _meth_self):
try: try:
......
...@@ -23,6 +23,17 @@ __all__ = ['getcurrent', ...@@ -23,6 +23,17 @@ __all__ = ['getcurrent',
'Waiter'] 'Waiter']
PY3 = sys.version_info[0] >= 3
if PY3:
string_types = str,
integer_types = int,
else:
string_types = basestring,
integer_types = (int, long)
def __import_py_magic_greenlet(): def __import_py_magic_greenlet():
try: try:
from py.magic import greenlet from py.magic import greenlet
......
...@@ -12,12 +12,11 @@ greenlets in the pool has already reached the limit, until there is a free slot. ...@@ -12,12 +12,11 @@ greenlets in the pool has already reached the limit, until there is a free slot.
import sys import sys
from bisect import insort_right from bisect import insort_right
from gevent.hub import GreenletExit, getcurrent, kill as _kill from gevent.hub import GreenletExit, getcurrent, kill as _kill, PY3
from gevent.greenlet import joinall, Greenlet from gevent.greenlet import joinall, Greenlet
from gevent.timeout import Timeout from gevent.timeout import Timeout
from gevent.event import Event from gevent.event import Event
from gevent.lock import Semaphore, DummySemaphore from gevent.lock import Semaphore, DummySemaphore
from gevent import six
__all__ = ['Group', 'Pool'] __all__ = ['Group', 'Pool']
...@@ -222,7 +221,7 @@ class IMapUnordered(Greenlet): ...@@ -222,7 +221,7 @@ class IMapUnordered(Greenlet):
raise value.exc raise value.exc
return value return value
if six.PY3: if PY3:
__next__ = next __next__ = next
del next del next
...@@ -283,7 +282,7 @@ class IMap(Greenlet): ...@@ -283,7 +282,7 @@ class IMap(Greenlet):
if value is not _SKIP: if value is not _SKIP:
return value return value
if six.PY3: if PY3:
__next__ = next __next__ = next
del next del next
......
This diff is collapsed.
...@@ -2,13 +2,12 @@ ...@@ -2,13 +2,12 @@
from __future__ import with_statement from __future__ import with_statement
import sys import sys
import os import os
from gevent.hub import get_hub, sleep from gevent.hub import get_hub, sleep, integer_types
from gevent.event import AsyncResult from gevent.event import AsyncResult
from gevent.greenlet import Greenlet from gevent.greenlet import Greenlet
from gevent.pool import IMap, IMapUnordered from gevent.pool import IMap, IMapUnordered
from gevent.lock import Semaphore from gevent.lock import Semaphore
from gevent._threading import Lock, Queue, start_new_thread from gevent._threading import Lock, Queue, start_new_thread
from gevent.six import integer_types
__all__ = ['ThreadPool', __all__ = ['ThreadPool',
......
from gevent.hub import PY3
if PY3:
advance_iterator = next
else:
def advance_iterator(it):
return it.next()
if PY3:
import builtins
exec_ = getattr(builtins, "exec")
def reraise(tp, value, tb=None):
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value
print_ = getattr(builtins, "print")
del builtins
else:
def exec_(code, globs=None, locs=None):
"""Execute code in a namespace."""
if globs is None:
frame = sys._getframe(1)
globs = frame.f_globals
if locs is None:
locs = frame.f_locals
del frame
elif locs is None:
locs = globs
exec("""exec code in globs, locs""")
...@@ -133,9 +133,6 @@ are missing from %r: ...@@ -133,9 +133,6 @@ are missing from %r:
exec "import %s" % modname in {} exec "import %s" % modname in {}
self.module = sys.modules[modname] self.module = sys.modules[modname]
if modname == 'gevent.six':
return
self.check_all() self.check_all()
self.__implements__ = getattr(self.module, '__implements__', None) self.__implements__ = getattr(self.module, '__implements__', None)
......
import sys import sys
from greentest import walk_modules, BaseTestCase, main from greentest import walk_modules, BaseTestCase, main
from gevent import six import six
class TestExec(BaseTestCase): class TestExec(BaseTestCase):
......
from time import time from time import time
import gevent import gevent
from gevent import pool, six from gevent import pool
from gevent.event import Event from gevent.event import Event
import greentest import greentest
import random import random
from greentest import ExpectedException from greentest import ExpectedException
import six
class TestCoroutinePool(greentest.TestCase): class TestCoroutinePool(greentest.TestCase):
......
...@@ -2,8 +2,8 @@ from time import time, sleep ...@@ -2,8 +2,8 @@ from time import time, sleep
import random import random
import greentest import greentest
from gevent.threadpool import ThreadPool from gevent.threadpool import ThreadPool
from gevent import six
import gevent import gevent
import six
class TestCase(greentest.TestCase): class TestCase(greentest.TestCase):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment