diff options
| -rw-r--r-- | youtube_dl/extractor/rbmaradio.py | 51 | 
1 files changed, 26 insertions, 25 deletions
| diff --git a/youtube_dl/extractor/rbmaradio.py b/youtube_dl/extractor/rbmaradio.py index 4b6147a73..b9cb7abd1 100644 --- a/youtube_dl/extractor/rbmaradio.py +++ b/youtube_dl/extractor/rbmaradio.py @@ -1,3 +1,6 @@ +# encoding: utf-8 +from __future__ import unicode_literals +  import json  import re @@ -12,16 +15,16 @@ from ..utils import (  class RBMARadioIE(InfoExtractor):      _VALID_URL = r'https?://(?:www\.)?rbmaradio\.com/shows/(?P<videoID>[^/]+)$'      _TEST = { -        u'url': u'http://www.rbmaradio.com/shows/ford-lopatin-live-at-primavera-sound-2011', -        u'file': u'ford-lopatin-live-at-primavera-sound-2011.mp3', -        u'md5': u'6bc6f9bcb18994b4c983bc3bf4384d95', -        u'info_dict': { -            u"uploader_id": u"ford-lopatin",  -            u"location": u"Spain",  -            u"description": u"Joel Ford and Daniel \u2019Oneohtrix Point Never\u2019 Lopatin fly their midified pop extravaganza to Spain. Live at Primavera Sound 2011.",  -            u"uploader": u"Ford & Lopatin",  -            u"title": u"Live at Primavera Sound 2011" -        } +        'url': 'http://www.rbmaradio.com/shows/ford-lopatin-live-at-primavera-sound-2011', +        'file': 'ford-lopatin-live-at-primavera-sound-2011.mp3', +        'md5': '6bc6f9bcb18994b4c983bc3bf4384d95', +        'info_dict': { +            "uploader_id": "ford-lopatin", +            "location": "Spain", +            "description": "Joel Ford and Daniel ’Oneohtrix Point Never’ Lopatin fly their midified pop extravaganza to Spain. Live at Primavera Sound 2011.", +            "uploader": "Ford & Lopatin", +            "title": "Live at Primavera Sound 2011", +        },      }      def _real_extract(self, url): @@ -31,26 +34,24 @@ class RBMARadioIE(InfoExtractor):          webpage = self._download_webpage(url, video_id)          json_data = self._search_regex(r'window\.gon.*?gon\.show=(.+?);$', -            webpage, u'json data', flags=re.MULTILINE) +            webpage, 'json data', flags=re.MULTILINE)          try:              data = json.loads(json_data)          except ValueError as e: -            raise ExtractorError(u'Invalid JSON: ' + str(e)) +            raise ExtractorError('Invalid JSON: ' + str(e))          video_url = data['akamai_url'] + '&cbr=256'          url_parts = compat_urllib_parse_urlparse(video_url) -        video_ext = url_parts.path.rpartition('.')[2] -        info = { -                'id': video_id, -                'url': video_url, -                'ext': video_ext, -                'title': data['title'], -                'description': data.get('teaser_text'), -                'location': data.get('country_of_origin'), -                'uploader': data.get('host', {}).get('name'), -                'uploader_id': data.get('host', {}).get('slug'), -                'thumbnail': data.get('image', {}).get('large_url_2x'), -                'duration': data.get('duration'), + +        return { +            'id': video_id, +            'url': video_url, +            'title': data['title'], +            'description': data.get('teaser_text'), +            'location': data.get('country_of_origin'), +            'uploader': data.get('host', {}).get('name'), +            'uploader_id': data.get('host', {}).get('slug'), +            'thumbnail': data.get('image', {}).get('large_url_2x'), +            'duration': data.get('duration'),          } -        return [info] | 
