[yandexmusic:album] Improve album title extraction (closes #27418)
authorSergey M․ <dstftw@gmail.com>
Sun, 13 Dec 2020 15:18:40 +0000 (22:18 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 13 Dec 2020 15:18:40 +0000 (22:18 +0700)
youtube_dl/extractor/yandexmusic.py

index 324ac8bba96bdaf59f9208d5b777c27de2d9a596..6bd44abbc37eb8d1d1fe175c93c86edcd08ebd1b 100644 (file)
@@ -260,6 +260,14 @@ class YandexMusicAlbumIE(YandexMusicPlaylistBaseIE):
         },
         'playlist_count': 33,
         # 'skip': 'Travis CI servers blocked by YandexMusic',
+    }, {
+        # empty artists
+        'url': 'https://music.yandex.ru/album/9091882',
+        'info_dict': {
+            'id': '9091882',
+            'title': 'ТЕД на русском',
+        },
+        'playlist_count': 187,
     }]
 
     def _real_extract(self, url):
@@ -273,7 +281,10 @@ class YandexMusicAlbumIE(YandexMusicPlaylistBaseIE):
 
         entries = self._build_playlist([track for volume in album['volumes'] for track in volume])
 
-        title = '%s - %s' % (album['artists'][0]['name'], album['title'])
+        title = album['title']
+        artist = try_get(album, lambda x: x['artists'][0]['name'], compat_str)
+        if artist:
+            title = '%s - %s' % (artist, title)
         year = album.get('year')
         if year:
             title += ' (%s)' % year