From ed007e9f010e824b7e1025750f987e7c5051470c Mon Sep 17 00:00:00 2001 From: Thomas Coleman Date: Mon, 20 Jul 2020 12:06:16 -0700 Subject: [PATCH] Include channel_title in the channel extra_info --- youtube_dl/YoutubeDL.py | 2 ++ youtube_dl/extractor/youtube.py | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index b3935518c..51cb0af1c 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -866,6 +866,8 @@ class YoutubeDL(object): # contained in a playlist if ie_result.get('channel_image'): extra_info['channel_image'] = ie_result.get('channel_image') + if ie_result.get('channel_title'): + extra_info['channel_title'] = ie_result.get('channel_title') return self.extract_info(ie_result['url'], download, ie_key=ie_result.get('ie_key'), diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 527cf1922..42dc2df15 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -2952,6 +2952,7 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor): channel_id = self._match_id(url) url = self._build_template_url(url, channel_id) + extra_info = dict() # Channel by page listing is restricted to 35 pages of 30 items, i.e. 1050 videos total (see #5778) # Workaround by extracting as a playlist if managed to obtain channel playlist URL @@ -2962,8 +2963,10 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor): if channel_page is False: channel_playlist_id = False else: - channel_image = self._html_search_meta( + extra_info['channel_image'] = self._html_search_meta( 'og:image', channel_page, 'channel image', default=None) + extra_info['channel_title'] = self._html_search_meta( + 'og:title', channel_page, 'channel title', default=None) channel_playlist_id = self._html_search_meta( 'channelId', channel_page, 'channel id', default=None) if not channel_playlist_id: @@ -2978,7 +2981,7 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor): playlist_id = 'UU' + channel_playlist_id[2:] url_result = self.url_result( compat_urlparse.urljoin(url, '/playlist?list=%s' % playlist_id), 'YoutubePlaylist') - url_result['channel_image'] = channel_image + url_result.update(extra_info) return url_result channel_page = self._download_webpage(url, channel_id, 'Downloading page #1')