diff --git a/eventlet/api.py b/eventlet/api.py index 4c24fca..3ee73cb 100644 --- a/eventlet/api.py +++ b/eventlet/api.py @@ -6,8 +6,7 @@ import linecache import inspect import warnings -from eventlet.common import BaseException -from eventlet.support import greenlets as greenlet +from eventlet.support import greenlets as greenlet, BaseException from eventlet import hubs from eventlet import greenthread from eventlet import debug diff --git a/eventlet/backdoor.py b/eventlet/backdoor.py index f27059b..1c492fb 100644 --- a/eventlet/backdoor.py +++ b/eventlet/backdoor.py @@ -5,8 +5,7 @@ from code import InteractiveConsole import eventlet from eventlet import hubs -from eventlet.common import get_errno -from eventlet.support import greenlets +from eventlet.support import greenlets, get_errno #FIXME no testcases for bckdor module try: diff --git a/eventlet/common.py b/eventlet/common.py deleted file mode 100644 index 55a5288..0000000 --- a/eventlet/common.py +++ /dev/null @@ -1,36 +0,0 @@ -import sys -def get_errno(exc): - """ Get the error code out of socket.error objects. - socket.error in <2.5 does not have errno attribute - socket.error in 3.x does not allow indexing access - e.args[0] works for all. - There are cases when args[0] is not errno. - i.e. http://bugs.python.org/issue6471 - Maybe there are cases when errno is set, but it is not the first argument? - """ - - try: - if exc.errno is not None: return exc.errno - except AttributeError: - pass - try: - return exc.args[0] - except IndexError: - return None - -if sys.version_info[0]<3: - from sys import exc_clear as clear_sys_exc_info -else: - def clear_sys_exc_info(): - """No-op In py3k. - Exception information is not visible outside of except statements. - sys.exc_clear became obsolete and removed.""" - pass - -if sys.version_info[0]==2 and sys.version_info[1]<5: - class BaseException: # pylint: disable-msg=W0622 - # not subclassing from object() intentionally, because in - # that case "raise Timeout" fails with TypeError. - pass -else: - from __builtin__ import BaseException diff --git a/eventlet/green/OpenSSL/SSL.py b/eventlet/green/OpenSSL/SSL.py index 3d7fc4a..5c7115c 100644 --- a/eventlet/green/OpenSSL/SSL.py +++ b/eventlet/green/OpenSSL/SSL.py @@ -1,6 +1,6 @@ from OpenSSL import SSL as orig_SSL from OpenSSL.SSL import * -from eventlet.common import get_errno +from eventlet.support import get_errno from eventlet import greenio from eventlet.hubs import trampoline import socket diff --git a/eventlet/green/os.py b/eventlet/green/os.py index 01a1015..5577a07 100644 --- a/eventlet/green/os.py +++ b/eventlet/green/os.py @@ -3,7 +3,7 @@ import errno socket = __import__("socket") from eventlet import greenio -from eventlet.common import get_errno +from eventlet.support import get_errno from eventlet import greenthread from eventlet import hubs diff --git a/eventlet/green/ssl.py b/eventlet/green/ssl.py index 71e2fb6..810fbe1 100644 --- a/eventlet/green/ssl.py +++ b/eventlet/green/ssl.py @@ -6,7 +6,7 @@ for attr in dir(__ssl): import errno time = __import__('time') -from eventlet.common import get_errno +from eventlet.support import get_errno from eventlet.hubs import trampoline from eventlet.greenio import set_nonblocking, GreenSocket, SOCKET_CLOSED, CONNECT_ERR, CONNECT_SUCCESS orig_socket = __import__('socket') diff --git a/eventlet/greenio.py b/eventlet/greenio.py index 6478d22..f79c67f 100644 --- a/eventlet/greenio.py +++ b/eventlet/greenio.py @@ -1,4 +1,4 @@ -from eventlet.common import get_errno +from eventlet.support import get_errno from eventlet.hubs import trampoline BUFFER_SIZE = 4096 diff --git a/eventlet/hubs/hub.py b/eventlet/hubs/hub.py index c0d2d41..0b95cc1 100644 --- a/eventlet/hubs/hub.py +++ b/eventlet/hubs/hub.py @@ -2,8 +2,7 @@ import heapq import sys import traceback -from eventlet.common import clear_sys_exc_info -from eventlet.support import greenlets as greenlet +from eventlet.support import greenlets as greenlet, clear_sys_exc_info from eventlet.hubs import timer from eventlet import patcher time = patcher.original('time') diff --git a/eventlet/hubs/poll.py b/eventlet/hubs/poll.py index d6c62ca..aec4a5f 100644 --- a/eventlet/hubs/poll.py +++ b/eventlet/hubs/poll.py @@ -5,7 +5,7 @@ select = patcher.original('select') time = patcher.original('time') sleep = time.sleep -from eventlet.common import get_errno, clear_sys_exc_info +from eventlet.support import get_errno, clear_sys_exc_info from eventlet.hubs.hub import BaseHub, READ, WRITE EXC_MASK = select.POLLERR | select.POLLHUP diff --git a/eventlet/hubs/selects.py b/eventlet/hubs/selects.py index bbd84b7..4838b68 100644 --- a/eventlet/hubs/selects.py +++ b/eventlet/hubs/selects.py @@ -1,7 +1,7 @@ import sys import errno from eventlet import patcher -from eventlet.common import get_errno, clear_sys_exc_info +from eventlet.support import get_errno, clear_sys_exc_info select = patcher.original('select') time = patcher.original('time') diff --git a/eventlet/support/__init__.py b/eventlet/support/__init__.py index e69de29..55a5288 100644 --- a/eventlet/support/__init__.py +++ b/eventlet/support/__init__.py @@ -0,0 +1,36 @@ +import sys +def get_errno(exc): + """ Get the error code out of socket.error objects. + socket.error in <2.5 does not have errno attribute + socket.error in 3.x does not allow indexing access + e.args[0] works for all. + There are cases when args[0] is not errno. + i.e. http://bugs.python.org/issue6471 + Maybe there are cases when errno is set, but it is not the first argument? + """ + + try: + if exc.errno is not None: return exc.errno + except AttributeError: + pass + try: + return exc.args[0] + except IndexError: + return None + +if sys.version_info[0]<3: + from sys import exc_clear as clear_sys_exc_info +else: + def clear_sys_exc_info(): + """No-op In py3k. + Exception information is not visible outside of except statements. + sys.exc_clear became obsolete and removed.""" + pass + +if sys.version_info[0]==2 and sys.version_info[1]<5: + class BaseException: # pylint: disable-msg=W0622 + # not subclassing from object() intentionally, because in + # that case "raise Timeout" fails with TypeError. + pass +else: + from __builtin__ import BaseException diff --git a/eventlet/timeout.py b/eventlet/timeout.py index 64f72e2..e50c868 100644 --- a/eventlet/timeout.py +++ b/eventlet/timeout.py @@ -20,8 +20,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE.from eventlet.support import greenlets as greenlet -from eventlet.common import BaseException -from eventlet.support import greenlets as greenlet +from eventlet.support import greenlets as greenlet, BaseException from eventlet.hubs import get_hub __all__ = ['Timeout', diff --git a/eventlet/wsgi.py b/eventlet/wsgi.py index 1638bed..c3d2430 100644 --- a/eventlet/wsgi.py +++ b/eventlet/wsgi.py @@ -10,7 +10,7 @@ from eventlet.green import socket from eventlet.green import BaseHTTPServer from eventlet import greenpool from eventlet import greenio -from eventlet.common import get_errno +from eventlet.support import get_errno DEFAULT_MAX_SIMULTANEOUS_REQUESTS = 1024 DEFAULT_MAX_HTTP_VERSION = 'HTTP/1.1' diff --git a/tests/greenio_test.py b/tests/greenio_test.py index 8a654a7..663eaba 100644 --- a/tests/greenio_test.py +++ b/tests/greenio_test.py @@ -3,7 +3,7 @@ from tests import LimitedTestCase, skip_with_pyevent, main, skipped, s2b from eventlet import event from eventlet import greenio from eventlet import debug -from eventlet.common import get_errno +from eventlet.support import get_errno from eventlet.green import socket from eventlet.green import time from eventlet.green.socket import GreenSSLObject diff --git a/tests/test__refcount.py b/tests/test__refcount.py index 8a66f3c..3418265 100644 --- a/tests/test__refcount.py +++ b/tests/test__refcount.py @@ -4,7 +4,7 @@ are not leaked by the hub. import sys import unittest from pprint import pformat -from eventlet.common import clear_sys_exc_info +from eventlet.support import clear_sys_exc_info from eventlet.green import socket from eventlet.green.thread import start_new_thread from eventlet.green.time import sleep diff --git a/tests/wsgi_test.py b/tests/wsgi_test.py index aff6b25..2c15499 100644 --- a/tests/wsgi_test.py +++ b/tests/wsgi_test.py @@ -14,7 +14,7 @@ from eventlet import greenio from eventlet.green import socket as greensocket from eventlet import wsgi from eventlet import processes -from eventlet.common import get_errno +from eventlet.support import get_errno from tests import find_command