about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-12-13 23:27:21 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-12-13 23:27:21 +0100
commita23669220a6d45bfc01d5cf9b047eba42e772003 (patch)
tree0d7abae437b01104ccfd64cbc70a09dc10b21d4b
parent051c46256b47bae1bd0f07b5dad2b4ad041506d0 (diff)
downloadyoutube-dl-a23669220a6d45bfc01d5cf9b047eba42e772003.tar.gz
youtube-dl-a23669220a6d45bfc01d5cf9b047eba42e772003.tar.xz
youtube-dl-a23669220a6d45bfc01d5cf9b047eba42e772003.zip
[utils] Make ssl work on Python 2.7.8
-rw-r--r--youtube_dl/utils.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index ec34dcef9..ac66f3de0 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -393,8 +393,14 @@ def make_HTTPS_handler(opts_no_check_certificate, **kwargs):
         context.options &= ~ssl.OP_NO_SSLv3  # Allow older, not-as-secure SSLv3
         if opts_no_check_certificate:
             context.verify_mode = ssl.CERT_NONE
-        return compat_urllib_request.HTTPSHandler(context=context, **kwargs)
-    elif sys.version_info < (3, 2):
+        try:
+            return compat_urllib_request.HTTPSHandler(context=context, **kwargs)
+        except TypeError:
+            # Python 2.7.8
+            # (create_default_context present but HTTPSHandler has no context=)
+            pass
+
+    if sys.version_info < (3, 2):
         import httplib
 
         class HTTPSConnectionV3(httplib.HTTPSConnection):