[yandexmusic:track] Extract original size thumbnail (Closes #7160)
authorSergey M․ <dstftw@gmail.com>
Wed, 14 Oct 2015 15:15:29 +0000 (21:15 +0600)
committerSergey M․ <dstftw@gmail.com>
Wed, 14 Oct 2015 15:15:29 +0000 (21:15 +0600)
youtube_dl/extractor/yandexmusic.py

index 6842f834f0c80578c5e1944f100d5dd054a4cef6..08dc81f3a0354213a7faadb7c9800c03af2368b5 100644 (file)
@@ -46,14 +46,12 @@ class YandexMusicTrackIE(InfoExtractor):
                 % (data['host'], key, data['ts'] + data['path'], storage[1]))
 
     def _get_track_info(self, track):
-        album = track['albums'][0]
-        a_thumb = None
-
-        if 'coverUri' in album:
-            a_thumb = album['coverUri']
-            if a_thumb:
-                a_thumb = 'http://' + a_thumb.replace('%%', '1000x1000')
-
+        thumbnail = None
+        cover_uri = track.get('albums', [{}])[0].get('coverUri')
+        if cover_uri:
+            thumbnail = cover_uri.replace('%%', 'orig')
+            if not thumbnail.startswith('http'):
+                thumbnail = 'http://' + thumbnail
         return {
             'id': track['id'],
             'ext': 'mp3',
@@ -61,7 +59,7 @@ class YandexMusicTrackIE(InfoExtractor):
             'title': '%s - %s' % (track['artists'][0]['name'], track['title']),
             'filesize': int_or_none(track.get('fileSize')),
             'duration': float_or_none(track.get('durationMs'), 1000),
-            'thumbnail': a_thumb,
+            'thumbnail': thumbnail,
         }
 
     def _real_extract(self, url):