diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2015-01-09 20:16:55 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2015-01-09 20:20:48 +0100 |
commit | aa2fd59857a3cc16e542dd93b762a607c98e9202 (patch) | |
tree | dce044ef9a5ccd4651a4ed7b634361f73014fd01 | |
parent | 9932a65370564e08be11b0611e52b63ff451742d (diff) |
[update] Use utils HTTPS handler (Fixes #4666)
On FreeBSD, the default HTTPS handler is missing certificates, so use our own.
-rw-r--r-- | youtube_dl/update.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/youtube_dl/update.py b/youtube_dl/update.py index 2d2703368..3f9c5249d 100644 --- a/youtube_dl/update.py +++ b/youtube_dl/update.py @@ -13,6 +13,7 @@ from .compat import ( compat_str, compat_urllib_request, ) +from .utils import make_HTTPS_handler from .version import __version__ @@ -58,9 +59,12 @@ def update_self(to_screen, verbose): to_screen('It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.') return + https_handler = make_HTTPS_handler(False) + opener = compat_urllib_request.build_opener(https_handler) + # Check if there is a new version try: - newversion = compat_urllib_request.urlopen(VERSION_URL).read().decode('utf-8').strip() + newversion = opener.open(VERSION_URL).read().decode('utf-8').strip() except: if verbose: to_screen(compat_str(traceback.format_exc())) @@ -72,7 +76,7 @@ def update_self(to_screen, verbose): # Download and check versions info try: - versions_info = compat_urllib_request.urlopen(JSON_URL).read().decode('utf-8') + versions_info = opener.open(JSON_URL).read().decode('utf-8') versions_info = json.loads(versions_info) except: if verbose: @@ -120,7 +124,7 @@ def update_self(to_screen, verbose): return try: - urlh = compat_urllib_request.urlopen(version['exe'][0]) + urlh = opener.open(version['exe'][0]) newcontent = urlh.read() urlh.close() except (IOError, OSError): @@ -166,7 +170,7 @@ start /b "" cmd /c del "%%~f0"&exit /b" # Zip unix package elif isinstance(globals().get('__loader__'), zipimporter): try: - urlh = compat_urllib_request.urlopen(version['bin'][0]) + urlh = opener.open(version['bin'][0]) newcontent = urlh.read() urlh.close() except (IOError, OSError): |