diff options
| -rw-r--r-- | youtube_dl/extractor/reverbnation.py | 27 | 
1 files changed, 17 insertions, 10 deletions
| diff --git a/youtube_dl/extractor/reverbnation.py b/youtube_dl/extractor/reverbnation.py index 3c6725aeb..52f18e231 100644 --- a/youtube_dl/extractor/reverbnation.py +++ b/youtube_dl/extractor/reverbnation.py @@ -1,7 +1,5 @@  from __future__ import unicode_literals -import re -  from .common import InfoExtractor  from ..utils import str_or_none @@ -10,20 +8,19 @@ class ReverbNationIE(InfoExtractor):      _VALID_URL = r'^https?://(?:www\.)?reverbnation\.com/.*?/song/(?P<id>\d+).*?$'      _TESTS = [{          'url': 'http://www.reverbnation.com/alkilados/song/16965047-mona-lisa', -        'md5': '3da12ebca28c67c111a7f8b262d3f7a7', +        'md5': 'c0aaf339bcee189495fdf5a8c8ba8645',          'info_dict': {              'id': '16965047',              'ext': 'mp3',              'title': 'MONA LISA',              'uploader': 'ALKILADOS',              'uploader_id': '216429', -            'thumbnail': 're:^https://gp1\.wac\.edgecastcdn\.net/.*?\.jpg$' +            'thumbnail': 're:^https?://.*\.jpg',          },      }]      def _real_extract(self, url): -        mobj = re.match(self._VALID_URL, url) -        song_id = mobj.group('id') +        song_id = self._match_id(url)          api_res = self._download_json(              'https://api.reverbnation.com/song/%s' % song_id, @@ -31,14 +28,24 @@ class ReverbNationIE(InfoExtractor):              note='Downloading information of song %s' % song_id          ) +        thumbnails = [] +        if api_res.get('image'): +            thumbnails.append({ +                'url': api_res.get('image'), +            }) +        if api_res.get('thumbnail'): +            thumbnails.append({ +                'url': api_res.get('thumbnail'), +                'preference': -2, +            }) +          return {              'id': song_id, -            'title': api_res.get('name'), -            'url': api_res.get('url'), +            'title': api_res['name'], +            'url': api_res['url'],              'uploader': api_res.get('artist', {}).get('name'),              'uploader_id': str_or_none(api_res.get('artist', {}).get('id')), -            'thumbnail': self._proto_relative_url( -                api_res.get('image', api_res.get('thumbnail'))), +            'thumbnails': thumbnails,              'ext': 'mp3',              'vcodec': 'none',          } | 
