[YoutubeDL] Check for `get_ca_certs` availability
authorSergey M․ <dstftw@gmail.com>
Thu, 2 Apr 2015 16:50:10 +0000 (22:50 +0600)
committerSergey M․ <dstftw@gmail.com>
Thu, 2 Apr 2015 16:50:10 +0000 (22:50 +0600)
`get_ca_certs` is not available in python <3.4

youtube_dl/YoutubeDL.py

index 4fa2223ad2ea5a5799622c9d9b38b90edf193337..ce4b72fd3191f05d8035eba5c34fff342affae82 100755 (executable)
@@ -1770,7 +1770,9 @@ class YoutubeDL(object):
         https_handler = make_HTTPS_handler(self.params, debuglevel=debuglevel)
         # The ssl context is only available in python 2.7.9 and 3.x
         if hasattr(https_handler, '_context'):
-            if len(https_handler._context.get_ca_certs()) == 0:
+            ctx = https_handler._context
+            # get_ca_certs is unavailable prior to python 3.4
+            if hasattr(ctx, 'get_ca_certs') and len(ctx.get_ca_certs()) == 0:
                 self.report_warning(
                     'No ssl certificates were loaded, urls that use https '
                     'won\'t work')