fix green package not to use absolute_import and otherwise be nice on 2.4
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
from __future__ import absolute_import
|
||||
import sys
|
||||
from eventlet.green import socket
|
||||
from eventlet.green import SocketServer
|
||||
|
||||
from BaseHTTPServer import (DEFAULT_ERROR_MESSAGE, _quote_html, __version__, __all__,
|
||||
BaseHTTPRequestHandler as __BaseHTTPRequestHandler)
|
||||
__import_lst = ['DEFAULT_ERROR_MESSAGE', '_quote_html', '__version__', '__all__', 'BaseHTTPRequestHandler']
|
||||
__BaseHTTPServer = __import__('BaseHTTPServer')
|
||||
for var in __import_lst:
|
||||
exec "%s = __BaseHTTPServer.%s" % (var, var)
|
||||
|
||||
|
||||
class HTTPServer(SocketServer.TCPServer):
|
||||
|
||||
@@ -18,7 +20,7 @@ class HTTPServer(SocketServer.TCPServer):
|
||||
self.server_port = port
|
||||
|
||||
|
||||
class BaseHTTPRequestHandler(__BaseHTTPRequestHandler):
|
||||
class BaseHTTPRequestHandler(BaseHTTPRequestHandler):
|
||||
|
||||
def address_string(self):
|
||||
host, port = self.client_address[:2]
|
||||
|
@@ -1,13 +1,15 @@
|
||||
from __future__ import absolute_import
|
||||
from SocketServer import (__all__, __version__, BaseServer, TCPServer as __TCPServer,
|
||||
UDPServer as __UDPServer, ForkingMixIn, ThreadingMixIn as __ThreadingMixIn,
|
||||
BaseRequestHandler, StreamRequestHandler, DatagramRequestHandler)
|
||||
__import_lst = ['__all__', '__version__', 'BaseServer', 'TCPServer', 'UDPServer', 'ForkingMixIn',
|
||||
'ThreadingMixIn', 'BaseRequestHandler', 'StreamRequestHandler', 'DatagramRequestHandler']
|
||||
__SocketServer = __import__('SocketServer')
|
||||
for var in __import_lst:
|
||||
exec "%s = __SocketServer.%s" % (var, var)
|
||||
|
||||
|
||||
# QQQ ForkingMixIn should be fixed to use green waitpid?
|
||||
|
||||
from eventlet.green import socket
|
||||
|
||||
class TCPServer(__TCPServer):
|
||||
class TCPServer(TCPServer):
|
||||
|
||||
def __init__(self, server_address, RequestHandlerClass):
|
||||
"""Constructor. May be extended, do not override."""
|
||||
@@ -17,7 +19,7 @@ class TCPServer(__TCPServer):
|
||||
self.server_bind()
|
||||
self.server_activate()
|
||||
|
||||
class UDPServer(__UDPServer):
|
||||
class UDPServer(UDPServer):
|
||||
|
||||
def __init__(self, server_address, RequestHandlerClass):
|
||||
"""Constructor. May be extended, do not override."""
|
||||
@@ -27,7 +29,7 @@ class UDPServer(__UDPServer):
|
||||
self.server_bind()
|
||||
self.server_activate()
|
||||
|
||||
class ThreadingMixIn(__ThreadingMixIn):
|
||||
class ThreadingMixIn(ThreadingMixIn):
|
||||
|
||||
def process_request(self, request, client_address):
|
||||
"""Start a new thread to process the request."""
|
||||
|
@@ -1,3 +1,5 @@
|
||||
from __future__ import absolute_import
|
||||
from select import *
|
||||
__select = __import__('select')
|
||||
for var in dir(__select):
|
||||
exec "%s = __select.%s" % (var, var)
|
||||
from eventlet.api import select
|
||||
del poll
|
||||
|
@@ -1,7 +1,6 @@
|
||||
from __future__ import absolute_import
|
||||
import socket
|
||||
import socket as __socket
|
||||
from socket import *
|
||||
__socket = __import__('socket')
|
||||
for var in __socket.__all__:
|
||||
exec "%s = __socket.%s" % (var, var)
|
||||
_fileobject = __socket._fileobject
|
||||
|
||||
from eventlet.api import get_hub
|
||||
|
@@ -1,11 +1,10 @@
|
||||
"""implements standard module 'thread' with greenlets"""
|
||||
from __future__ import absolute_import
|
||||
import thread as thread_module
|
||||
__thread = __import__('thread')
|
||||
from eventlet.support import greenlets as greenlet
|
||||
from eventlet.api import spawn
|
||||
from eventlet.coros import Semaphore as LockType
|
||||
|
||||
error = thread_module.error
|
||||
error = __thread.error
|
||||
|
||||
def get_ident(gr=None):
|
||||
if gr is None:
|
||||
@@ -23,11 +22,12 @@ def allocate_lock():
|
||||
def exit():
|
||||
raise greenlet.GreenletExit
|
||||
|
||||
if hasattr(__thread, 'stack_size'):
|
||||
def stack_size(size=None):
|
||||
if size is None:
|
||||
return thread_module.stack_size()
|
||||
if size > thread_module.stack_size():
|
||||
return thread_module.stack_size(size)
|
||||
return __thread.stack_size()
|
||||
if size > __thread.stack_size():
|
||||
return __thread.stack_size(size)
|
||||
else:
|
||||
pass
|
||||
# not going to decrease stack_size, because otherwise other greenlets in this thread will suffer
|
||||
|
@@ -9,7 +9,7 @@ from collections import deque
|
||||
# Rename some stuff so "from threading import *" is safe
|
||||
__all__ = ['activeCount', 'Condition', 'currentThread', 'enumerate', 'Event',
|
||||
'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Thread',
|
||||
'Timer', 'setprofile', 'settrace', 'local', 'stack_size']
|
||||
'Timer', 'setprofile', 'settrace', 'local']
|
||||
|
||||
_start_new_thread = thread.start_new_thread
|
||||
_allocate_lock = thread.allocate_lock
|
||||
@@ -743,7 +743,11 @@ def enumerate():
|
||||
_active_limbo_lock.release()
|
||||
return active
|
||||
|
||||
try:
|
||||
from thread import stack_size
|
||||
__all__.append('stack_size')
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# Create the main thread object,
|
||||
# and make it available for the interpreter
|
||||
|
@@ -1,7 +1,4 @@
|
||||
from __future__ import absolute_import
|
||||
from time import *
|
||||
__time = __import__('time')
|
||||
for var in dir(__time):
|
||||
exec "%s = __time.%s" % (var, var)
|
||||
from eventlet.api import sleep
|
||||
|
||||
def _install():
|
||||
import time
|
||||
time.sleep = sleep
|
||||
|
@@ -1,16 +1,19 @@
|
||||
from __future__ import absolute_import
|
||||
import urllib
|
||||
from urllib import *
|
||||
urllib = __import__('urllib')
|
||||
for var in dir(urllib):
|
||||
exec "%s = urllib.%s" % (var, var)
|
||||
|
||||
# import the following to be a better drop-in replacement
|
||||
from urllib import (__all__, __version__, MAXFTPCACHE, ContentTooShortError,
|
||||
ftpcache, _noheaders, noheaders, addbase, addclosehook,
|
||||
addinfo, addinfourl, _is_unicode, toBytes, _hextochr,
|
||||
always_safe, getproxies_environment, proxy_bypass)
|
||||
__import_lst = ['__all__', '__version__', 'MAXFTPCACHE', 'ContentTooShortError',
|
||||
'ftpcache', '_noheaders', 'noheaders', 'addbase', 'addclosehook',
|
||||
'addinfo', 'addinfourl', '_is_unicode', 'toBytes', '_hextochr',
|
||||
'always_safe', 'getproxies_environment', 'proxy_bypass']
|
||||
|
||||
for var in __import_lst:
|
||||
exec "%s = urllib.%s" % (var, var)
|
||||
|
||||
from eventlet.green import socket
|
||||
import os
|
||||
import time
|
||||
from eventlet.green import time
|
||||
import sys
|
||||
from urlparse import urljoin as basejoin
|
||||
|
||||
|
@@ -1,11 +1,12 @@
|
||||
from __future__ import absolute_import
|
||||
urllib2 = __import__('urllib2')
|
||||
for var in dir(urllib2):
|
||||
exec "%s = urllib2.%s" % (var, var)
|
||||
|
||||
# XXX blocking builtin open() is used in randombytes()
|
||||
# AbstractHTTPHandler uses socket.error and socket._fileobject but that's OK
|
||||
# as long as evenlet.green.socket imports them, does not reimplement them
|
||||
import urllib2
|
||||
from urllib2 import *
|
||||
from urllib2 import __version__, _cut_port_re, _parse_proxy
|
||||
# import the following to be a better drop-in replacement
|
||||
__import_lst = ['__version__', '__cut_port_re', '_parse_proxy']
|
||||
|
||||
for var in __import_lst:
|
||||
exec "%s = getattr(urllib2, %r, None)" % (var, var)
|
||||
|
||||
del (urlopen, install_opener, build_opener, HTTPHandler, HTTPSHandler,
|
||||
HTTPCookieProcessor, FileHandler, FTPHandler, CacheFTPHandler, GopherError)
|
||||
|
Reference in New Issue
Block a user