From ca6d59d2c1a38433708d4a739e812c0bc52655bc Mon Sep 17 00:00:00 2001 From: pukkandan Date: Fri, 20 May 2022 21:55:26 +0530 Subject: [PATCH] Fix `--simulate --max-downloads` Bug in c3e6ffba536980e5e1af00e0ecb2275621b4db17 Closes #3815 --- yt_dlp/YoutubeDL.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 3dc11463c..037b24d00 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -2877,8 +2877,13 @@ class YoutubeDL: # Forced printings self.__forced_printings(info_dict, full_filename, incomplete=('format' not in info_dict)) + def check_max_downloads(): + if self._num_downloads >= float(self.params.get('max_downloads') or 'inf'): + raise MaxDownloadsReached() + if self.params.get('simulate'): info_dict['__write_download_archive'] = self.params.get('force_write_download_archive') + check_max_downloads() return if full_filename is None: @@ -3221,10 +3226,7 @@ class YoutubeDL: # Make sure the info_dict was modified in-place assert info_dict is original_infodict - - max_downloads = self.params.get('max_downloads') - if max_downloads is not None and self._num_downloads >= int(max_downloads): - raise MaxDownloadsReached() + check_max_downloads() def __download_wrapper(self, func): @functools.wraps(func)