X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fupdate.py;h=074eb64a757e1d4745fa5e29a4569dc02b92f854;hb=5c2266df4b9aeb7881ed8c026a038e2a25e43734;hp=941db3c8f968fdcc3f134a596c9cba4b50273dd9;hpb=15938ab67a61ec7558311d964fb65ccd4e05a782;p=youtube-dl diff --git a/youtube_dl/update.py b/youtube_dl/update.py index 941db3c8f..074eb64a7 100644 --- a/youtube_dl/update.py +++ b/youtube_dl/update.py @@ -9,17 +9,14 @@ import subprocess import sys from zipimport import zipimporter -from .compat import ( - compat_str, - compat_urllib_request, -) +from .compat import compat_str + from .version import __version__ def rsa_verify(message, signature, key): from struct import pack from hashlib import sha256 - from sys import version_info assert isinstance(message, bytes) block_size = 0 @@ -47,10 +44,10 @@ def rsa_verify(message, signature, key): return True -def update_self(to_screen, verbose): +def update_self(to_screen, verbose, opener): """Update the program file with the latest version from the repository""" - UPDATE_URL = "http://rg3.github.io/youtube-dl/update/" + UPDATE_URL = "https://rg3.github.io/youtube-dl/update/" VERSION_URL = UPDATE_URL + 'LATEST_VERSION' JSON_URL = UPDATE_URL + 'versions.json' UPDATES_RSA_KEY = (0x9d60ee4d8f805312fdb15a62f87b95bd66177b91df176765d13514a0f1754bcd2057295c5b6f1d35daa6742c3ffc9a82d3e118861c207995a8031e151d863c9927e304576bc80692bc8e094896fcf11b66f3e29e04e3a71e9a11558558acea1840aec37fc396fb6b65dc81a1c4144e03bd1c011de62e3f1357b327d08426fe93, 65537) @@ -61,8 +58,8 @@ def update_self(to_screen, verbose): # Check if there is a new version try: - newversion = compat_urllib_request.urlopen(VERSION_URL).read().decode('utf-8').strip() - except: + newversion = opener.open(VERSION_URL).read().decode('utf-8').strip() + except Exception: if verbose: to_screen(compat_str(traceback.format_exc())) to_screen('ERROR: can\'t find the current version. Please try again later.') @@ -73,14 +70,14 @@ 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: + except Exception: if verbose: to_screen(compat_str(traceback.format_exc())) to_screen('ERROR: can\'t obtain versions info. Please try again later.') return - if not 'signature' in versions_info: + if 'signature' not in versions_info: to_screen('ERROR: the versions file is not signed or corrupted. Aborting.') return signature = versions_info['signature'] @@ -121,7 +118,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): @@ -167,7 +164,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):