summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/socket.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/Lib/socket.py b/Lib/socket.py
index 45131ce840..153f602b26 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -38,37 +38,42 @@ Many other constants may be defined; these may be used in calls to
the setsockopt() and getsockopt() methods.
"""
+import _socket
from _socket import *
+
+SSL_EXISTS = 1
try:
+ import _ssl
from _ssl import *
except ImportError:
- pass
+ SSL_EXISTS = 0
import os, sys
__all__ = ["getfqdn"]
-import _socket
__all__.extend(os._get_exports_list(_socket))
+# XXX shouldn't there be something similar to the above for _ssl exports?
if (sys.platform.lower().startswith("win")
or (hasattr(os, 'uname') and os.uname()[0] == "BeOS")
- or (sys.platform=="riscos")):
+ or sys.platform=="riscos"):
_realsocketcall = _socket.socket
def socket(family, type, proto=0):
return _socketobject(_realsocketcall(family, type, proto))
- try:
+ if SSL_EXISTS:
_realsslcall = _ssl.ssl
- except AttributeError:
- pass # No ssl
- else:
def ssl(sock, keyfile=None, certfile=None):
if hasattr(sock, "_sock"):
sock = sock._sock
return _realsslcall(sock, keyfile, certfile)
+del _socket
+if SSL_EXISTS:
+ del _ssl
+del SSL_EXISTS
# WSA error codes
if sys.platform.lower().startswith("win"):