X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fvgtv.py;h=b0f0b3bc29d14801c608aa3d6a159ca5c257ad74;hb=34e7dc81a94d39d48c5b4aac8cddcca46edba94d;hp=69dc9a75964f4c81a6aa010ec48b25db5c517b4a;hpb=4e6e9d21bd62c4e2ab2576347e066891092a5783;p=youtube-dl diff --git a/youtube_dl/extractor/vgtv.py b/youtube_dl/extractor/vgtv.py index 69dc9a759..b0f0b3bc2 100644 --- a/youtube_dl/extractor/vgtv.py +++ b/youtube_dl/extractor/vgtv.py @@ -8,7 +8,8 @@ from ..utils import float_or_none class VGTVIE(InfoExtractor): - _VALID_URL = r'http://(?:www\.)?vgtv\.no/#!/[^/]+/(?P[0-9]+)' + IE_DESC = 'VGTV and BTTV' + _VALID_URL = r'http://(?:www\.)?(?Pvgtv|bt)\.no/(?:(?:tv/)?#!/(?:video|live)/(?P[0-9]+)|(?:[^/]+/)*(?P[^/]+))' _TESTS = [ { # streamType: vod @@ -64,12 +65,25 @@ class VGTVIE(InfoExtractor): 'skip_download': True, }, }, + { + 'url': 'http://www.bt.no/tv/#!/video/100250/norling-dette-er-forskjellen-paa-1-divisjon-og-eliteserien', + 'only_matching': True, + }, ] def _real_extract(self, url): - video_id = self._match_id(url) + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group('id') + host = mobj.group('host') + + HOST_WEBSITES = { + 'vgtv': 'vgtv', + 'bt': 'bttv', + } + data = self._download_json( - 'http://svp.vg.no/svp/api/v1/vgtv/assets/%s?appName=vgtv-website' % video_id, + 'http://svp.vg.no/svp/api/v1/%s/assets/%s?appName=%s-website' + % (host, video_id, HOST_WEBSITES[host]), video_id, 'Downloading media JSON') streams = data['streamUrls']