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 | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 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,23 +99,6 @@ def calc_sha256sum(path): h.update(mv[:n]) return h.hexdigest() - ERRORS = { - 'exe': None, - 'zip': None, - 'dir': 'Auto-update is not supported for unpackaged windows executable. Re-download the latest release', - 'source': 'You cannot update when running from source code', - 'unknown': 'It looks like you installed yt-dlp with a package manager, pip, setup.py or a tarball. Use that to update', - } - err = ERRORS.get(detect_variant(), ERRORS['unknown']) - if err: - 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') @@ -128,10 +111,27 @@ def version_tuple(version_str): 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__) + ydl.to_screen(f'yt-dlp is up to date ({__version__})') return - ydl.to_screen('Updating to version ' + version_id + ' ...') + ERRORS = { + 'exe': None, + 'zip': None, + 'dir': 'Auto-update is not supported for unpackaged windows executable. Re-download the latest release', + 'source': 'You cannot update when running from source code', + 'unknown': 'It looks like you installed yt-dlp with a package manager, pip, setup.py or a tarball. Use that to update', + } + 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(f'Current version {__version__}; Build Hash {calc_sha256sum(filename)}') + ydl.to_screen(f'Updating to version {version_id} ...') version_labels = { 'zip_3': '',