summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2020-12-13 22:18:40 +0700
committerSergey M․ <dstftw@gmail.com>2020-12-13 22:18:40 +0700
commit9c33eb027e4a798045706f669679a4f9305e1fdf (patch)
tree349290a7ba7e4681cde61732616fe9abb5053ea6
parent679b711395c2d6a75b376e8f7b8b2529669c4c27 (diff)
downloadyoutube-dl-9c33eb027e4a798045706f669679a4f9305e1fdf.tar.gz
youtube-dl-9c33eb027e4a798045706f669679a4f9305e1fdf.tar.xz
youtube-dl-9c33eb027e4a798045706f669679a4f9305e1fdf.zip
[yandexmusic:album] Improve album title extraction (closes #27418)
-rw-r--r--youtube_dl/extractor/yandexmusic.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/youtube_dl/extractor/yandexmusic.py b/youtube_dl/extractor/yandexmusic.py
index 324ac8bba..6bd44abbc 100644
--- a/youtube_dl/extractor/yandexmusic.py
+++ b/youtube_dl/extractor/yandexmusic.py
@@ -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