[npo] Add support for hetklokhuis.nl (closes #12293)

This commit is contained in:
Sergey M․ 2017-02-27 22:43:19 +07:00
parent 0e879f432a
commit 0dc5a86a32
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
2 changed files with 34 additions and 11 deletions

View File

@ -669,6 +669,7 @@ from .npo import (
NPORadioIE, NPORadioIE,
NPORadioFragmentIE, NPORadioFragmentIE,
SchoolTVIE, SchoolTVIE,
HetKlokhuisIE,
VPROIE, VPROIE,
WNLIE, WNLIE,
) )

View File

@ -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' IE_NAME = 'schooltv'
_VALID_URL = r'https?://(?:www\.)?schooltv\.nl/video/(?P<id>[^/?#&]+)' _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) class HetKlokhuisIE(NPODataMidEmbedIE):
webpage = self._download_webpage(url, display_id) IE_NAME = 'schooltv'
video_id = self._search_regex( _VALID_URL = r'https?://(?:www\.)?hetklokhuis.nl/[^/]+/\d+/(?P<id>[^/?#&]+)'
r'data-mid=(["\'])(?P<id>(?:(?!\1).)+)\1', webpage, 'video_id', group='id')
return { _TEST = {
'_type': 'url_transparent', 'url': 'http://hetklokhuis.nl/tv-uitzending/3471/Zwaartekrachtsgolven',
'ie_key': 'NPO', 'info_dict': {
'url': 'npo:%s' % video_id, 'id': 'VPWON_1260528',
'display_id': display_id 'display_id': 'Zwaartekrachtsgolven',
'ext': 'm4v',
'title': 'Het Klokhuis: Zwaartekrachtsgolven',
'description': 'md5:c94f31fb930d76c2efa4a4a71651dd48',
'upload_date': '20170223',
},
'params': {
'skip_download': True
} }
}
class NPOPlaylistBaseIE(NPOIE): class NPOPlaylistBaseIE(NPOIE):