From ae7b0382fcbd414643dbb7c83e86b8aff7603c9e Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Mon, 13 Apr 2020 18:03:47 +0200 Subject: [PATCH] Fixed #4 - wrong channel name --- SaveMyPlaylist.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/SaveMyPlaylist.py b/SaveMyPlaylist.py index 2b9cada..6963372 100644 --- a/SaveMyPlaylist.py +++ b/SaveMyPlaylist.py @@ -105,10 +105,11 @@ class SaveMyPlaylist: for item in response['items']: snippet = item['snippet'] title = snippet['title'] - channel = snippet['channelTitle'] videoId = snippet['resourceId']['videoId'] - items.append((channel, title, videoId)) - logger.info('{} - {} (videoId: {})'.format(channel, title, videoId)) + channelName = self.__get_channel_name(videoId) + + items.append((channelName, title, videoId)) + logger.info(f'{channelName} - {title} (videoId: {videoId})') nextPageToken = None if 'nextPageToken' in response: @@ -116,6 +117,19 @@ class SaveMyPlaylist: return items, nextPageToken + def __get_channel_name(self, videoId): + request = self._youtubeApi.videos().list( + part='snippet', + id=videoId, + maxResults=1 + ) + + response = request.execute() + if not response['items']: + return '' + + return response['items'][0]['snippet']['channelTitle'] + def download_items(self, destinationFolder, debug=False): os.makedirs(destinationFolder, exist_ok=True) logger.info('>>> Scanning destination folder...') -- GitLab