aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2023-06-21 04:12:01 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2023-06-21 06:10:40 +0530
commit02948a17d903f544363bb20b51a6d8baed7bba08 (patch)
tree1c70dfb7f9b0492c869a1c6496a9b261ff7972db
parent424f3bf03305088df6e01d62f7311be8601ad3f4 (diff)
downloadhypervideo-pre-02948a17d903f544363bb20b51a6d8baed7bba08.tar.lz
hypervideo-pre-02948a17d903f544363bb20b51a6d8baed7bba08.tar.xz
hypervideo-pre-02948a17d903f544363bb20b51a6d8baed7bba08.zip
[update] Do not restart into versions without `--update-to`
-rw-r--r--yt_dlp/update.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/yt_dlp/update.py b/yt_dlp/update.py
index 6c9bdaf1c..4790075eb 100644
--- a/yt_dlp/update.py
+++ b/yt_dlp/update.py
@@ -149,7 +149,7 @@ class Updater:
f'You are switching to an {self.ydl._format_err("unofficial", "red")} executable '
f'from {self.ydl._format_err(self._target_repo, self.ydl.Styles.EMPHASIS)}. '
f'Run {self.ydl._format_err("at your own risk", "light red")}')
- self.restart = self._blocked_restart
+ self._block_restart('Automatically restarting into custom builds is disabled for security reasons')
else:
self._target_repo = UPDATE_SOURCES.get(self.target_channel)
if not self._target_repo:
@@ -294,6 +294,7 @@ class Updater:
if (_VERSION_RE.fullmatch(self.target_tag[5:])
and version_tuple(self.target_tag[5:]) < (2023, 3, 2)):
self.ydl.report_warning('You are downgrading to a version without --update-to')
+ self._block_restart('Cannot automatically restart to a version without --update-to')
directory = os.path.dirname(self.filename)
if not os.access(self.filename, os.W_OK):
@@ -381,11 +382,11 @@ class Updater:
_, _, returncode = Popen.run(self.cmd)
return returncode
- def _blocked_restart(self):
- self._report_error(
- 'Automatically restarting into custom builds is disabled for security reasons. '
- 'Restart yt-dlp to use the updated version', expected=True)
- return self.ydl._download_retcode
+ def _block_restart(self, msg):
+ def wrapper():
+ self._report_error(f'{msg}. Restart yt-dlp to use the updated version', expected=True)
+ return self.ydl._download_retcode
+ self.restart = wrapper
def run_update(ydl):