diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-09-28 22:58:25 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-09-28 22:58:25 +0700 | 
| commit | f533490bb7b2d25b9c6fe7ccd381ebe2bef7d4f8 (patch) | |
| tree | e1db62333be28246d7bfebbaac0c95d88c389798 | |
| parent | 8bfda726c20198b7e68a805967917ef1a79e9b91 (diff) | |
[ketnet] Extract mzsource formats (#10770)
| -rw-r--r-- | youtube_dl/extractor/ketnet.py | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/youtube_dl/extractor/ketnet.py b/youtube_dl/extractor/ketnet.py index aaf3f807a..eb0a16008 100644 --- a/youtube_dl/extractor/ketnet.py +++ b/youtube_dl/extractor/ketnet.py @@ -21,6 +21,10 @@ class KetnetIE(InfoExtractor):      }, {          'url': 'https://www.ketnet.be/achter-de-schermen/sien-repeteert-voor-stars-for-life',          'only_matching': True, +    }, { +        # mzsource, geo restricted to Belgium +        'url': 'https://www.ketnet.be/kijken/nachtwacht/de-bermadoe', +        'only_matching': True,      }]      def _real_extract(self, url): @@ -36,9 +40,25 @@ class KetnetIE(InfoExtractor):          title = config['title'] -        formats = self._extract_m3u8_formats( -            config['source']['hls'], video_id, 'mp4', -            entry_protocol='m3u8_native', m3u8_id='hls') +        formats = [] +        for source_key in ('', 'mz'): +            source = config.get('%ssource' % source_key) +            if not isinstance(source, dict): +                continue +            for format_id, format_url in source.items(): +                if format_id == 'hls': +                    formats.extend(self._extract_m3u8_formats( +                        format_url, video_id, 'mp4', +                        entry_protocol='m3u8_native', m3u8_id=format_id, +                        fatal=False)) +                elif format_id == 'hds': +                    formats.extend(self._extract_f4m_formats( +                        format_url, video_id, f4m_id=format_id, fatal=False)) +                else: +                    formats.append({ +                        'url': format_url, +                        'format_id': format_id, +                    })          self._sort_formats(formats)          return { | 
