From d7b460d0e5fc710950582baed2e3fc616ed98a80 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 13 Nov 2022 08:24:00 +0530 Subject: [PATCH] Make early reject of `--match-filter` stricter Closes #5509 --- yt_dlp/YoutubeDL.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 32bd5b3dc..525d3ab6e 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1358,10 +1358,18 @@ class YoutubeDL: def _match_entry(self, info_dict, incomplete=False, silent=False): """ Returns None if the file should be downloaded """ + _type = info_dict.get('_type', 'video') + assert incomplete or _type == 'video', 'Only video result can be considered complete' video_title = info_dict.get('title', info_dict.get('id', 'entry')) def check_filter(): + if _type in ('playlist', 'multi_video'): + return + elif _type in ('url', 'url_transparent') and not try_call( + lambda: self.get_info_extractor(info_dict['ie_key']).is_single_video(info_dict['url'])): + return + if 'title' in info_dict: # This can happen when we're just evaluating the playlist title = info_dict['title']