]> jfr.im git - yt-dlp.git/blame - youtube_dl/extractor/dbtv.py
Fix "invalid escape sequences" error on Python 3.6
[yt-dlp.git] / youtube_dl / extractor / dbtv.py
CommitLineData
f063a04f
MK
1# coding: utf-8
2from __future__ import unicode_literals
3
4import re
5
6from .common import InfoExtractor
f063a04f 7
4d067a58 8
f063a04f 9class DBTVIE(InfoExtractor):
8a8590a6 10 _VALID_URL = r'https?://(?:www\.)?dbtv\.no/(?:[^/]+/)?(?P<id>[0-9]+)(?:#(?P<display_id>.+))?'
7ac40086 11 _TESTS = [{
4d067a58 12 'url': 'http://dbtv.no/3649835190001#Skulle_teste_ut_fornøyelsespark,_men_kollegaen_var_bare_opptatt_av_bikinikroppen',
8a8590a6 13 'md5': '2e24f67936517b143a234b4cadf792ec',
4d067a58 14 'info_dict': {
8a8590a6 15 'id': '3649835190001',
4d067a58
S
16 'display_id': 'Skulle_teste_ut_fornøyelsespark,_men_kollegaen_var_bare_opptatt_av_bikinikroppen',
17 'ext': 'mp4',
18 'title': 'Skulle teste ut fornøyelsespark, men kollegaen var bare opptatt av bikinikroppen',
19 'description': 'md5:1504a54606c4dde3e4e61fc97aa857e0',
ec85ded8 20 'thumbnail': r're:https?://.*\.jpg',
8a8590a6 21 'timestamp': 1404039863,
4d067a58
S
22 'upload_date': '20140629',
23 'duration': 69.544,
8a8590a6
RA
24 'uploader_id': '1027729757001',
25 },
26 'add_ie': ['BrightcoveNew']
7ac40086
S
27 }, {
28 'url': 'http://dbtv.no/3649835190001',
29 'only_matching': True,
30 }, {
31 'url': 'http://www.dbtv.no/lazyplayer/4631135248001',
32 'only_matching': True,
8a8590a6
RA
33 }, {
34 'url': 'http://dbtv.no/vice/5000634109001',
35 'only_matching': True,
36 }, {
37 'url': 'http://dbtv.no/filmtrailer/3359293614001',
38 'only_matching': True,
7ac40086 39 }]
f063a04f 40
b0c8f2e9
DR
41 @staticmethod
42 def _extract_urls(webpage):
43 return [url for _, url in re.findall(
b0d578ff 44 r'<iframe[^>]+src=(["\'])((?:https?:)?//(?:www\.)?dbtv\.no/(?:lazy)?player/\d+.*?)\1',
b0c8f2e9
DR
45 webpage)]
46
4d067a58 47 def _real_extract(self, url):
8a8590a6 48 video_id, display_id = re.match(self._VALID_URL, url).groups()
f063a04f 49
4d067a58 50 return {
8a8590a6
RA
51 '_type': 'url_transparent',
52 'url': 'http://players.brightcove.net/1027729757001/default_default/index.html?videoId=%s' % video_id,
53 'id': video_id,
4d067a58 54 'display_id': display_id,
8a8590a6 55 'ie_key': 'BrightcoveNew',
4d067a58 56 }