aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2017-02-27 22:43:19 +0700
committerSergey M․ <dstftw@gmail.com>2017-02-27 22:43:19 +0700
commit0dc5a86a329314f551f86c2ef3202342b7506667 (patch)
treebbac5b923f12fdefb7bd9864e9608ff9c2fa76ab /youtube_dl
parent0e879f432afe5b9a04a06cbc697cf28d08ac5518 (diff)
[npo] Add support for hetklokhuis.nl (closes #12293)
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/extractor/extractors.py1
-rw-r--r--youtube_dl/extractor/npo.py44
2 files changed, 34 insertions, 11 deletions
diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py
index d09104096..0910b7b05 100644
--- a/youtube_dl/extractor/extractors.py
+++ b/youtube_dl/extractor/extractors.py
@@ -669,6 +669,7 @@ from .npo import (
NPORadioIE,
NPORadioFragmentIE,
SchoolTVIE,
+ HetKlokhuisIE,
VPROIE,
WNLIE,
)
diff --git a/youtube_dl/extractor/npo.py b/youtube_dl/extractor/npo.py
index 962437145..09e8d9987 100644
--- a/youtube_dl/extractor/npo.py
+++ b/youtube_dl/extractor/npo.py
@@ -416,7 +416,21 @@ class NPORadioFragmentIE(InfoExtractor):
}
-class SchoolTVIE(InfoExtractor):
+class NPODataMidEmbedIE(InfoExtractor):
+ def _real_extract(self, url):
+ display_id = self._match_id(url)
+ webpage = self._download_webpage(url, display_id)
+ video_id = self._search_regex(
+ r'data-mid=(["\'])(?P<id>(?:(?!\1).)+)\1', webpage, 'video_id', group='id')
+ return {
+ '_type': 'url_transparent',
+ 'ie_key': 'NPO',
+ 'url': 'npo:%s' % video_id,
+ 'display_id': display_id
+ }
+
+
+class SchoolTVIE(NPODataMidEmbedIE):
IE_NAME = 'schooltv'
_VALID_URL = r'https?://(?:www\.)?schooltv\.nl/video/(?P<id>[^/?#&]+)'
@@ -435,17 +449,25 @@ class SchoolTVIE(InfoExtractor):
}
}
- def _real_extract(self, url):
- display_id = self._match_id(url)
- webpage = self._download_webpage(url, display_id)
- video_id = self._search_regex(
- r'data-mid=(["\'])(?P<id>(?:(?!\1).)+)\1', webpage, 'video_id', group='id')
- return {
- '_type': 'url_transparent',
- 'ie_key': 'NPO',
- 'url': 'npo:%s' % video_id,
- 'display_id': display_id
+
+class HetKlokhuisIE(NPODataMidEmbedIE):
+ IE_NAME = 'schooltv'
+ _VALID_URL = r'https?://(?:www\.)?hetklokhuis.nl/[^/]+/\d+/(?P<id>[^/?#&]+)'
+
+ _TEST = {
+ 'url': 'http://hetklokhuis.nl/tv-uitzending/3471/Zwaartekrachtsgolven',
+ 'info_dict': {
+ 'id': 'VPWON_1260528',
+ 'display_id': 'Zwaartekrachtsgolven',
+ 'ext': 'm4v',
+ 'title': 'Het Klokhuis: Zwaartekrachtsgolven',
+ 'description': 'md5:c94f31fb930d76c2efa4a4a71651dd48',
+ 'upload_date': '20170223',
+ },
+ 'params': {
+ 'skip_download': True
}
+ }
class NPOPlaylistBaseIE(NPOIE):