More robust transference of properties from stdlib modules. Also more efficient and cleaner.

This commit is contained in:
Ryan Williams
2010-08-18 23:26:49 -07:00
parent 50fbe92eff
commit 19443c4550
6 changed files with 21 additions and 19 deletions

View File

@@ -1,10 +1,11 @@
__socket = __import__('socket') __socket = __import__('socket')
exec "\n".join(["%s = __socket.%s" % (var, var) for var in __socket.__all__]) globals().update(dict([(var, getattr(__socket, var))
for var in dir(__socket)
if not var.startswith('__')]))
os = __import__('os') os = __import__('os')
import sys import sys
import warnings import warnings
from eventlet.hubs import get_hub from eventlet.hubs import get_hub
from eventlet.greenio import GreenSocket as socket from eventlet.greenio import GreenSocket as socket
from eventlet.greenio import SSL as _SSL # for exceptions from eventlet.greenio import SSL as _SSL # for exceptions
@@ -13,7 +14,6 @@ from eventlet.greenio import _fileobject
__all__ = __socket.__all__ __all__ = __socket.__all__
__patched__ = ['fromfd', 'socketpair', 'create_connection', 'ssl', 'socket'] __patched__ = ['fromfd', 'socketpair', 'create_connection', 'ssl', 'socket']
try: try:
__original_fromfd__ = __socket.fromfd __original_fromfd__ = __socket.fromfd
def fromfd(*args): def fromfd(*args):

View File

@@ -8,7 +8,10 @@ from eventlet import greenthread
from eventlet import hubs from eventlet import hubs
__patched__ = ['fdopen', 'read', 'write', 'wait', 'waitpid'] __patched__ = ['fdopen', 'read', 'write', 'wait', 'waitpid']
exec "\n".join(["%s = os_orig.%s" % (var, var) for var in dir(os_orig)]) globals().update(dict([(var, getattr(os_orig, var))
for var in dir(os_orig)
if not var.startswith('__')]))
__all__ = os_orig.__all__
def fdopen(fd, *args, **kw): def fdopen(fd, *args, **kw):
"""fdopen(fd [, mode='r' [, bufsize]]) -> file_object """fdopen(fd [, mode='r' [, bufsize]]) -> file_object

View File

@@ -29,9 +29,10 @@ FIXME: No testcases for this module.
""" """
profile_orig = __import__('profile') profile_orig = __import__('profile')
globals().update(dict([(var, getattr(profile_orig, var))
exec "\n".join(["%s = profile_orig.%s" % (var, var) for var in dir(profile_orig)
for var in profile_orig.__all__]) if not var.startswith('__')]))
__all__ = profile_orig.__all__
import new import new
import sys import sys

View File

@@ -3,16 +3,10 @@ import sys
from eventlet.hubs import get_hub from eventlet.hubs import get_hub
__import__('eventlet.green._socket_nodns') __import__('eventlet.green._socket_nodns')
__socket = sys.modules['eventlet.green._socket_nodns'] __socket = sys.modules['eventlet.green._socket_nodns']
exec "\n".join(["%s = __socket.%s" % (var, var) for var in __socket.__all__]) globals().update(dict([(var, getattr(__socket, var))
# these are desired but are not in __all__ for var in dir(__socket)
_GLOBAL_DEFAULT_TIMEOUT = __socket._GLOBAL_DEFAULT_TIMEOUT if not var.startswith('__')]))
_fileobject = __socket._fileobject
# missing from __all__ because 2.6.1 is still common on Macs
create_connection = __socket.create_connection
try:
ssl = __socket.ssl
except AttributeError:
pass
__all__ = __socket.__all__ __all__ = __socket.__all__
__patched__ = __socket.__patched__ + ['gethostbyname', 'getaddrinfo'] __patched__ = __socket.__patched__ + ['gethostbyname', 'getaddrinfo']

View File

@@ -1,6 +1,8 @@
__ssl = __import__('ssl') __ssl = __import__('ssl')
exec "\n".join("%s = __ssl.%s" % (attr, attr) for attr in dir(__ssl)) globals().update(dict([(var, getattr(__ssl, var))
for var in dir(__ssl)
if not var.startswith('__')]))
import sys import sys
import errno import errno

View File

@@ -1,5 +1,7 @@
__time = __import__('time') __time = __import__('time')
exec "\n".join("%s = __time.%s" % (var, var) for var in dir(__time)) globals().update(dict([(var, getattr(__time, var))
for var in dir(__time)
if not var.startswith('__')]))
__patched__ = ['sleep'] __patched__ = ['sleep']
from eventlet.greenthread import sleep from eventlet.greenthread import sleep
sleep # silence pyflakes sleep # silence pyflakes