diff options
author | pukkandan <pukkandan@gmail.com> | 2021-01-29 00:31:50 +0530 |
---|---|---|
committer | pukkandan <pukkandan@gmail.com> | 2021-01-29 00:31:50 +0530 |
commit | 64c0d954e573a608e497c8318b35a81c25583003 (patch) | |
tree | 89fcafed7f12186b8a98fe1e4e8f34b1318237d6 | |
parent | bf330f5f2932f1d13eb57851f307bd7ea7523c8e (diff) | |
download | hypervideo-pre-64c0d954e573a608e497c8318b35a81c25583003.tar.lz hypervideo-pre-64c0d954e573a608e497c8318b35a81c25583003.tar.xz hypervideo-pre-64c0d954e573a608e497c8318b35a81c25583003.zip |
[youtube] Extract playlist description
-rw-r--r-- | youtube_dlc/extractor/youtube.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/youtube_dlc/extractor/youtube.py b/youtube_dlc/extractor/youtube.py index e5e36075e..f9e60f03e 100644 --- a/youtube_dlc/extractor/youtube.py +++ b/youtube_dlc/extractor/youtube.py @@ -3426,12 +3426,19 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor): title += ' - %s' % tab_title description = renderer.get('description') playlist_id = renderer.get('externalId') + + # this has thumbnails, but there is currently no thumbnail field for playlists + # sidebar.playlistSidebarRenderer has even more data, but its stucture is more complec renderer = try_get( - data, lambda x: x['metadata']['playlistMetadataRenderer'], dict) + data, lambda x: x['microformat']['microformatDataRenderer'], dict) + if not renderer: + renderer = try_get( + data, lambda x: x['metadata']['playlistMetadataRenderer'], dict) if renderer: title = renderer.get('title') - description = None + description = renderer.get('description') playlist_id = item_id + if playlist_id is None: playlist_id = item_id if title is None: |