diff options
Diffstat (limited to 'youtube_dl/extractor/expotv.py')
| -rw-r--r-- | youtube_dl/extractor/expotv.py | 31 | 
1 files changed, 19 insertions, 12 deletions
| diff --git a/youtube_dl/extractor/expotv.py b/youtube_dl/extractor/expotv.py index a38b773e8..1585a03bb 100644 --- a/youtube_dl/extractor/expotv.py +++ b/youtube_dl/extractor/expotv.py @@ -33,20 +33,27 @@ class ExpoTVIE(InfoExtractor):          webpage = self._download_webpage(url, video_id)          player_key = self._search_regex(              r'<param name="playerKey" value="([^"]+)"', webpage, 'player key') -        config_url = 'http://client.expotv.com/video/config/%s/%s' % ( -            video_id, player_key)          config = self._download_json( -            config_url, video_id, -            note='Downloading video configuration') +            'http://client.expotv.com/video/config/%s/%s' % (video_id, player_key), +            video_id, 'Downloading video configuration') -        formats = [{ -            'url': fcfg['file'], -            'height': int_or_none(fcfg.get('height')), -            'format_note': fcfg.get('label'), -            'ext': self._search_regex( -                r'filename=.*\.([a-z0-9_A-Z]+)&', fcfg['file'], -                'file extension', default=None), -        } for fcfg in config['sources']] +        formats = [] +        for fcfg in config['sources']: +            media_url = fcfg.get('file') +            if not media_url: +                continue +            if fcfg.get('type') == 'm3u8': +                formats.extend(self._extract_m3u8_formats( +                    media_url, video_id, 'mp4', entry_protocol='m3u8_native', m3u8_id='hls')) +            else: +                formats.append({ +                    'url': media_url, +                    'height': int_or_none(fcfg.get('height')), +                    'format_id': fcfg.get('label'), +                    'ext': self._search_regex( +                        r'filename=.*\.([a-z0-9_A-Z]+)&', media_url, +                        'file extension', default=None) or fcfg.get('type'), +                })          self._sort_formats(formats)          title = self._og_search_title(webpage) | 
