diff options
Diffstat (limited to 'youtube_dl/extractor/roxwel.py')
| -rw-r--r-- | youtube_dl/extractor/roxwel.py | 52 | 
1 files changed, 28 insertions, 24 deletions
| diff --git a/youtube_dl/extractor/roxwel.py b/youtube_dl/extractor/roxwel.py index d339e6cb5..41638c1d0 100644 --- a/youtube_dl/extractor/roxwel.py +++ b/youtube_dl/extractor/roxwel.py @@ -1,5 +1,6 @@ +from __future__ import unicode_literals +  import re -import json  from .common import InfoExtractor  from ..utils import unified_strdate, determine_ext @@ -9,41 +10,44 @@ class RoxwelIE(InfoExtractor):      _VALID_URL = r'https?://www\.roxwel\.com/player/(?P<filename>.+?)(\.|\?|$)'      _TEST = { -        u'url': u'http://www.roxwel.com/player/passionpittakeawalklive.html', -        u'file': u'passionpittakeawalklive.flv', -        u'md5': u'd9dea8360a1e7d485d2206db7fe13035', -        u'info_dict': { -            u'title': u'Take A Walk (live)', -            u'uploader': u'Passion Pit', -            u'description': u'Passion Pit performs "Take A Walk\" live at The Backyard in Austin, Texas. ', +        'url': 'http://www.roxwel.com/player/passionpittakeawalklive.html', +        'info_dict': { +            'id': 'passionpittakeawalklive', +            'ext': 'flv', +            'title': 'Take A Walk (live)', +            'uploader': 'Passion Pit', +            'uploader_id': 'passionpit', +            'upload_date': '20120928', +            'description': 'Passion Pit performs "Take A Walk\" live at The Backyard in Austin, Texas. ',          }, -        u'skip': u'Requires rtmpdump', +        'params': { +            # rtmp download +            'skip_download': True, +        }      }      def _real_extract(self, url):          mobj = re.match(self._VALID_URL, url)          filename = mobj.group('filename')          info_url = 'http://www.roxwel.com/api/videos/%s' % filename -        info_page = self._download_webpage(info_url, filename, -                                           u'Downloading video info') +        info = self._download_json(info_url, filename) -        self.report_extraction(filename) -        info = json.loads(info_page)          rtmp_rates = sorted([int(r.replace('flv_', '')) for r in info['media_rates'] if r.startswith('flv_')])          best_rate = rtmp_rates[-1]          url_page_url = 'http://roxwel.com/pl_one_time.php?filename=%s&quality=%s' % (filename, best_rate) -        rtmp_url = self._download_webpage(url_page_url, filename, u'Downloading video url') +        rtmp_url = self._download_webpage(url_page_url, filename, 'Downloading video url')          ext = determine_ext(rtmp_url)          if ext == 'f4v':              rtmp_url = rtmp_url.replace(filename, 'mp4:%s' % filename) -        return {'id': filename, -                'title': info['title'], -                'url': rtmp_url, -                'ext': 'flv', -                'description': info['description'], -                'thumbnail': info.get('player_image_url') or info.get('image_url_large'), -                'uploader': info['artist'], -                'uploader_id': info['artistname'], -                'upload_date': unified_strdate(info['dbdate']), -                } +        return { +            'id': filename, +            'title': info['title'], +            'url': rtmp_url, +            'ext': 'flv', +            'description': info['description'], +            'thumbnail': info.get('player_image_url') or info.get('image_url_large'), +            'uploader': info['artist'], +            'uploader_id': info['artistname'], +            'upload_date': unified_strdate(info['dbdate']), +        } | 
