From 050d241a92794e52ea4c1f9faee66ea07d977c17 Mon Sep 17 00:00:00 2001 From: Aaruni Kaushik Date: Tue, 4 Oct 2022 16:41:44 +0200 Subject: [PATCH 1/7] Feat: add color to '* has already been recorded in the archive' message' --- yt_dlp/YoutubeDL.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 53681149e1c..544b8629fdb 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1459,7 +1459,12 @@ def extract_info(self, url, download=True, ie_key=None, extra_info=None, temp_id = ie.get_temp_id(url) if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': key}): - self.to_screen(f'[{key}] {temp_id}: has already been recorded in the archive') + self.to_screen('[%(key)s] %(temp_id)s : %(reason)s' %{ + 'key' : self._format_screen(key, self.Styles.HEADERS), + 'temp_id' : self._format_screen(temp_id, self.Styles.ID), + 'reason' : self._format_screen('has already been recorded in the archive', self.Styles.WARNING) + }) + if self.params.get('break_on_existing', False): raise ExistingVideoReached() break From f7a50719613cb42e78f2aa26dbe5c59687d72fe8 Mon Sep 17 00:00:00 2001 From: Aaruni Kaushik Date: Tue, 4 Oct 2022 16:53:24 +0200 Subject: [PATCH 2/7] Cleanup: make flake8 happy --- yt_dlp/YoutubeDL.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 544b8629fdb..690950a6f5d 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1459,12 +1459,12 @@ def extract_info(self, url, download=True, ie_key=None, extra_info=None, temp_id = ie.get_temp_id(url) if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': key}): - self.to_screen('[%(key)s] %(temp_id)s : %(reason)s' %{ - 'key' : self._format_screen(key, self.Styles.HEADERS), - 'temp_id' : self._format_screen(temp_id, self.Styles.ID), - 'reason' : self._format_screen('has already been recorded in the archive', self.Styles.WARNING) - }) - + self.to_screen('[%(key)s] %(temp_id)s : %(reason)s' % { + 'key': self._format_screen(key, self.Styles.HEADERS), + 'temp_id': self._format_screen(temp_id, self.Styles.ID), + 'reason': self._format_screen('has already been recorded in the archive', self.Styles.WARNING) + } + ) if self.params.get('break_on_existing', False): raise ExistingVideoReached() break From 9fb87e5f9194bdea55c44c2ffdc5bc6044e270bc Mon Sep 17 00:00:00 2001 From: Aaruni Kaushik Date: Wed, 5 Oct 2022 01:50:58 +0200 Subject: [PATCH 3/7] Use f-strings, remove unnecessary color --- yt_dlp/YoutubeDL.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 690950a6f5d..2799b31443f 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1459,12 +1459,10 @@ def extract_info(self, url, download=True, ie_key=None, extra_info=None, temp_id = ie.get_temp_id(url) if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': key}): - self.to_screen('[%(key)s] %(temp_id)s : %(reason)s' % { - 'key': self._format_screen(key, self.Styles.HEADERS), - 'temp_id': self._format_screen(temp_id, self.Styles.ID), - 'reason': self._format_screen('has already been recorded in the archive', self.Styles.WARNING) - } - ) + self.to_screen(f'[{key}] ' + f'{self._format_screen(temp_id, self.Styles.ID)}: ' + 'has already been recorded in the archive' + ) if self.params.get('break_on_existing', False): raise ExistingVideoReached() break From dea12845bbf28fae54cb3a2153c4fc7946e4b2dd Mon Sep 17 00:00:00 2001 From: Aaruni Kaushik Date: Wed, 5 Oct 2022 02:15:35 +0200 Subject: [PATCH 4/7] Add color to the other instance of this reason --- yt_dlp/YoutubeDL.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 2799b31443f..5d0523036c1 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1402,7 +1402,7 @@ def check_filter(): return None if self.in_download_archive(info_dict): - reason = '%s has already been recorded in the archive' % video_title + reason = f'{self._format_screen(video_title, self.Styles.FILENAME)} has already been recorded in the archive' break_opt, break_err = 'break_on_existing', ExistingVideoReached else: reason = check_filter() From 35e2e9f1fcdc3a40a76fe383520aa8f15e520f41 Mon Sep 17 00:00:00 2001 From: Aaruni Kaushik Date: Mon, 2 Jan 2023 18:52:10 +0100 Subject: [PATCH 5/7] Inline f-string, add video id to output --- yt_dlp/YoutubeDL.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 5d0523036c1..60a5ad1f4fe 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1351,7 +1351,8 @@ def prepare_filename(self, info_dict, dir_type='', *, outtmpl=None, warn=False): def _match_entry(self, info_dict, incomplete=False, silent=False): """ Returns None if the file should be downloaded """ - video_title = info_dict.get('title', info_dict.get('id', 'entry')) + video_id = info_dict.get('id', 'entry') + video_title = info_dict.get('title', video_id) def check_filter(): if 'title' in info_dict: @@ -1402,7 +1403,8 @@ def check_filter(): return None if self.in_download_archive(info_dict): - reason = f'{self._format_screen(video_title, self.Styles.FILENAME)} has already been recorded in the archive' + reason = (f'{self._format_screen(video_id, self.Styles.FILENAME)} - {self._format_screen(video_title, self.Styles.FILENAME)}' + ' has already been recorded in the archive') break_opt, break_err = 'break_on_existing', ExistingVideoReached else: reason = check_filter() @@ -1459,8 +1461,7 @@ def extract_info(self, url, download=True, ie_key=None, extra_info=None, temp_id = ie.get_temp_id(url) if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': key}): - self.to_screen(f'[{key}] ' - f'{self._format_screen(temp_id, self.Styles.ID)}: ' + self.to_screen(f'[{key}] {self._format_screen(temp_id, self.Styles.ID)}: ' 'has already been recorded in the archive' ) if self.params.get('break_on_existing', False): From e91ade70126ee2720c608a3110f138bbee3a1802 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sat, 15 Jul 2023 23:35:48 +0530 Subject: [PATCH 6/7] Apply suggestions from code review Co-authored-by: Simon Sawicki --- yt_dlp/YoutubeDL.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 60a5ad1f4fe..340b88a0125 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1352,7 +1352,7 @@ def _match_entry(self, info_dict, incomplete=False, silent=False): """ Returns None if the file should be downloaded """ video_id = info_dict.get('id', 'entry') - video_title = info_dict.get('title', video_id) + video_title = format_field(info_dict, 'title', ' (%s)', func=lambda x: self._format_screen(x, self.Styles.FILENAME)) def check_filter(): if 'title' in info_dict: @@ -1403,7 +1403,7 @@ def check_filter(): return None if self.in_download_archive(info_dict): - reason = (f'{self._format_screen(video_id, self.Styles.FILENAME)} - {self._format_screen(video_title, self.Styles.FILENAME)}' + reason = (f'{self._format_screen(video_id, self.Styles.ID)}{video_title}:' ' has already been recorded in the archive') break_opt, break_err = 'break_on_existing', ExistingVideoReached else: @@ -1462,8 +1462,7 @@ def extract_info(self, url, download=True, ie_key=None, extra_info=None, temp_id = ie.get_temp_id(url) if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': key}): self.to_screen(f'[{key}] {self._format_screen(temp_id, self.Styles.ID)}: ' - 'has already been recorded in the archive' - ) + 'has already been recorded in the archive') if self.params.get('break_on_existing', False): raise ExistingVideoReached() break From c1251258fe0ef20e94408788f4108e8424de5f47 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sat, 15 Jul 2023 23:59:30 +0530 Subject: [PATCH 7/7] cleanup --- yt_dlp/YoutubeDL.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 91bcdcedf26..c49960782d9 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1425,8 +1425,7 @@ def _match_entry(self, info_dict, incomplete=False, silent=False): _type = 'video' if 'playlist-match-filter' in self.params['compat_opts'] else info_dict.get('_type', 'video') assert incomplete or _type == 'video', 'Only video result can be considered complete' - video_id = info_dict.get('id', 'entry') - video_title = format_field(info_dict, 'title', ' (%s)', func=lambda x: self._format_screen(x, self.Styles.FILENAME)) + video_title = info_dict.get('title', info_dict.get('id', 'entry')) def check_filter(): if _type in ('playlist', 'multi_video'): @@ -1493,8 +1492,10 @@ def check_filter(): return ret if self.in_download_archive(info_dict): - reason = (f'{self._format_screen(video_id, self.Styles.ID)}{video_title}:' - ' has already been recorded in the archive') + reason = ''.join(( + format_field(info_dict, 'id', f'{self._format_screen("%s", self.Styles.ID)}: '), + format_field(info_dict, 'title', f'{self._format_screen("%s", self.Styles.EMPHASIS)} '), + 'has already been recorded in the archive')) break_opt, break_err = 'break_on_existing', ExistingVideoReached else: try: @@ -1555,7 +1556,7 @@ def extract_info(self, url, download=True, ie_key=None, extra_info=None, temp_id = ie.get_temp_id(url) if temp_id is not None and self.in_download_archive({'id': temp_id, 'ie_key': key}): - self.to_screen(f'[{key}] {self._format_screen(temp_id, self.Styles.ID)}: ' + self.to_screen(f'[download] {self._format_screen(temp_id, self.Styles.ID)}: ' 'has already been recorded in the archive') if self.params.get('break_on_existing', False): raise ExistingVideoReached()