summaryrefslogtreecommitdiff
path: root/eventlet/green/socket.py
diff options
context:
space:
mode:
authorSergey Shepelev <temotor@gmail.com>2016-08-20 19:40:22 +0500
committerSergey Shepelev <temotor@gmail.com>2016-08-23 02:21:03 +0500
commit95a3159a19e913f24b4d69b73168a401b000c5ed (patch)
tree090212bcb17b6849959a59a7a43820fb9b0d219b /eventlet/green/socket.py
parent4f0913d084acab2a991e32389337f86aacf8e1c4 (diff)
downloadeventlet-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.py41
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,