1 from .common import InfoExtractor
2 from ..utils import escape_url
6 class VierIE (InfoExtractor):
7 _VALID_URL = r'(?:http://)?www.vier.be/(?P<program>.*)/videos/(.+?)/(?P<id>\d*)'
9 'url': 'http://www.vier.be/planb/videos/het-wordt-warm-de-moestuin/16129',
10 'md5': 'bf48f4eb998cbde44ecd02fc42c51149',
14 'title': 'Het wordt warm in De Moestuin',
15 'description': 'De vele uren werk eisen hun tol. Wim droomt van assistentie...',
19 def _real_extract (self, url):
20 mobj = re.match (self._VALID_URL, url)
22 program = mobj.group ('program')
23 video_id = mobj.group ('id')
25 webpage = self._download_webpage (url, video_id)
27 title = self._html_search_regex(r'<meta property="og:title" content="(.+?)" />', webpage, u'title')
28 description = self._html_search_regex (r'<meta property="og:description" content="(.+?)" />', webpage, u'description')
29 vod_id = self._html_search_regex(r'"filename" : "(.+?)"', webpage, u'playlist URL')
30 url = escape_url ("http://vod.streamcloud.be/vier_vod/mp4:_definst_/" + vod_id + ".mp4/playlist.m3u8")
35 'description': description,
36 'formats': self._extract_m3u8_formats(url, video_id, 'mp4'),
39 class VierVideosIE (InfoExtractor):
40 _VALID_URL = r'http://www.vier.be/(?P<program>.*)/videos(\?page=(?P<page>\d*))?$'
42 'url': 'http://www.vier.be/demoestuin/videos',
44 'id': 'demoestuin page(0)',
46 'playlist_mincount': 20,
49 'url': 'http://www.vier.be/demoestuin/videos?page=6',
51 'id': 'demoestuin page(6)',
53 'playlist_mincount': 20,
56 def _real_extract (self, url):
57 mobj = re.match (self._VALID_URL, url)
59 program = mobj.group ('program')
60 page = mobj.group ('page')
64 videos_id = program + " page(" + str (page) + ")"
65 videos_page = self._download_webpage (url, videos_id, note='Retrieving videos page')
72 'url': "http://www.vier.be/" + eurl[0],
74 } for eurl in re.findall (r'<h3><a href="(.+?)">(.+?)</a></h3>', videos_page)]