From 28234287f17e5751a15d33e3fe6fea2c8e697799 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Mon, 27 Sep 2021 09:21:28 +0530 Subject: [PATCH] [update] Check for new version even if not updateable --- yt_dlp/update.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/yt_dlp/update.py b/yt_dlp/update.py index 531eea7c9..8160dab37 100644 --- a/yt_dlp/update.py +++ b/yt_dlp/update.py @@ -99,6 +99,21 @@ def run_update(ydl): h.update(mv[:n]) return h.hexdigest() + # Download and check versions info + try: + version_info = ydl._opener.open(JSON_URL).read().decode('utf-8') + version_info = json.loads(version_info) + except Exception: + return report_error('can\'t obtain versions info. Please try again later ', True, delim='or') + + def version_tuple(version_str): + return tuple(map(int, version_str.split('.'))) + + version_id = version_info['tag_name'] + if version_tuple(__version__) >= version_tuple(version_id): + ydl.to_screen(f'yt-dlp is up to date ({__version__})') + return + ERRORS = { 'exe': None, 'zip': None, @@ -108,30 +123,15 @@ def run_update(ydl): } err = ERRORS.get(detect_variant(), ERRORS['unknown']) if err: + ydl.to_screen(f'Latest version: {version_id}, Current version: {__version__}') return report_error(err, expected=True) # sys.executable is set to the full pathname of the exe-file for py2exe # though symlinks are not followed so that we need to do this manually # with help of realpath filename = compat_realpath(sys.executable if hasattr(sys, 'frozen') else sys.argv[0]) - ydl.to_screen('Current Build Hash %s' % calc_sha256sum(filename)) - - # Download and check versions info - try: - version_info = ydl._opener.open(JSON_URL).read().decode('utf-8') - version_info = json.loads(version_info) - except Exception: - return report_error('can\'t obtain versions info. Please try again later ', True, delim='or') - - def version_tuple(version_str): - return tuple(map(int, version_str.split('.'))) - - version_id = version_info['tag_name'] - if version_tuple(__version__) >= version_tuple(version_id): - ydl.to_screen('yt-dlp is up to date (%s)' % __version__) - return - - ydl.to_screen('Updating to version ' + version_id + ' ...') + ydl.to_screen(f'Current version {__version__}; Build Hash {calc_sha256sum(filename)}') + ydl.to_screen(f'Updating to version {version_id} ...') version_labels = { 'zip_3': '',