diff options
| author | Sergey Shepelev <temotor@gmail.com> | 2016-08-20 19:40:22 +0500 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2016-08-23 02:21:03 +0500 |
| commit | 95a3159a19e913f24b4d69b73168a401b000c5ed (patch) | |
| tree | 090212bcb17b6849959a59a7a43820fb9b0d219b /eventlet/green/socket.py | |
| parent | 4f0913d084acab2a991e32389337f86aacf8e1c4 (diff) | |
| download | eventlet-bundle-dns.tar.gz | |
bundle dnspython in support/; resolving is always greenbundle-dns
Fixes installation issue when older dnspython is present in system packages
https://github.com/eventlet/eventlet/pull/341
Diffstat (limited to 'eventlet/green/socket.py')
| -rw-r--r-- | eventlet/green/socket.py | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/eventlet/green/socket.py b/eventlet/green/socket.py index 6bbc7b0..c97a573 100644 --- a/eventlet/green/socket.py +++ b/eventlet/green/socket.py @@ -1,38 +1,35 @@ import os import sys +import warnings __import__('eventlet.green._socket_nodns') __socket = sys.modules['eventlet.green._socket_nodns'] __all__ = __socket.__all__ -__patched__ = __socket.__patched__ + ['gethostbyname', 'getaddrinfo', 'create_connection', ] +__patched__ = __socket.__patched__ + [ + 'create_connection', + 'getaddrinfo', + 'gethostbyname', + 'gethostbyname_ex', + 'getnameinfo', +] from eventlet.patcher import slurp_properties slurp_properties(__socket, globals(), srckeys=dir(__socket)) -greendns = None -if os.environ.get("EVENTLET_NO_GREENDNS", '').lower() != "yes": - try: - from eventlet.support import greendns - except ImportError as ex: - try: - import dns - except ImportError: - # greendns import failed because we don't have dnspython - all is well, - # that's why we have the conditional import - pass - else: - # If, however, dnspython is importable yet greendns can't be imported - # this suggests there's another issue (like an import cycle) - raise +if os.environ.get("EVENTLET_NO_GREENDNS", '').lower() == "yes": + warnings.warn( + 'EVENTLET_NO_GREENDNS is noop, dnspython is bundled and DNS resolution is always green', + DeprecationWarning, + stacklevel=2, + ) -if greendns: - gethostbyname = greendns.gethostbyname - getaddrinfo = greendns.getaddrinfo - gethostbyname_ex = greendns.gethostbyname_ex - getnameinfo = greendns.getnameinfo - __patched__ = __patched__ + ['gethostbyname_ex', 'getnameinfo'] +from eventlet.support import greendns +gethostbyname = greendns.gethostbyname +getaddrinfo = greendns.getaddrinfo +gethostbyname_ex = greendns.gethostbyname_ex +getnameinfo = greendns.getnameinfo def create_connection(address, |
