aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/ketnet.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-09-28 22:58:25 +0700
committerSergey M․ <dstftw@gmail.com>2016-09-28 22:58:25 +0700
commitf533490bb7b2d25b9c6fe7ccd381ebe2bef7d4f8 (patch)
treee1db62333be28246d7bfebbaac0c95d88c389798 /youtube_dl/extractor/ketnet.py
parent8bfda726c20198b7e68a805967917ef1a79e9b91 (diff)
downloadyoutube-dl-f533490bb7b2d25b9c6fe7ccd381ebe2bef7d4f8.zip
youtube-dl-f533490bb7b2d25b9c6fe7ccd381ebe2bef7d4f8.tar.gz
youtube-dl-f533490bb7b2d25b9c6fe7ccd381ebe2bef7d4f8.tar.bz2
[ketnet] Extract mzsource formats (#10770)
Diffstat (limited to 'youtube_dl/extractor/ketnet.py')
-rw-r--r--youtube_dl/extractor/ketnet.py26
1 files changed, 23 insertions, 3 deletions
diff --git a/youtube_dl/extractor/ketnet.py b/youtube_dl/extractor/ketnet.py
index aaf3f80..eb0a160 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 {