projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[vgtv] Add support for generic bt.no URLs (#5620)
[youtube-dl]
/
youtube_dl
/
extractor
/
vgtv.py
diff --git
a/youtube_dl/extractor/vgtv.py
b/youtube_dl/extractor/vgtv.py
index 69dc9a75964f4c81a6aa010ec48b25db5c517b4a..b0f0b3bc29d14801c608aa3d6a159ca5c257ad74 100644
(file)
--- 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):
class VGTVIE(InfoExtractor):
- _VALID_URL = r'http://(?:www\.)?vgtv\.no/#!/[^/]+/(?P<id>[0-9]+)'
+ IE_DESC = 'VGTV and BTTV'
+ _VALID_URL = r'http://(?:www\.)?(?P<host>vgtv|bt)\.no/(?:(?:tv/)?#!/(?:video|live)/(?P<id>[0-9]+)|(?:[^/]+/)*(?P<path>[^/]+))'
_TESTS = [
{
# streamType: vod
_TESTS = [
{
# streamType: vod
@@
-64,12
+65,25
@@
class VGTVIE(InfoExtractor):
'skip_download': True,
},
},
'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):
]
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(
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']
video_id, 'Downloading media JSON')
streams = data['streamUrls']