|
@@ -16,12 +16,22 @@ from ..utils import (
|
|
|
class NRKBaseIE(InfoExtractor):
|
|
|
_GEO_COUNTRIES = ['NO']
|
|
|
|
|
|
+ _api_host = None
|
|
|
+
|
|
|
def _real_extract(self, url):
|
|
|
video_id = self._match_id(url)
|
|
|
|
|
|
- data = self._download_json(
|
|
|
- 'http://%s/mediaelement/%s' % (self._API_HOST, video_id),
|
|
|
- video_id, 'Downloading mediaelement JSON')
|
|
|
+ api_hosts = (self._api_host, ) if self._api_host else self._API_HOSTS
|
|
|
+
|
|
|
+ for api_host in api_hosts:
|
|
|
+ data = self._download_json(
|
|
|
+ 'http://%s/mediaelement/%s' % (api_host, video_id),
|
|
|
+ video_id, 'Downloading mediaelement JSON',
|
|
|
+ fatal=api_host == api_hosts[-1])
|
|
|
+ if not data:
|
|
|
+ continue
|
|
|
+ self._api_host = api_host
|
|
|
+ break
|
|
|
|
|
|
title = data.get('fullTitle') or data.get('mainTitle') or data['title']
|
|
|
video_id = data.get('id') or video_id
|
|
@@ -191,7 +201,7 @@ class NRKIE(NRKBaseIE):
|
|
|
)
|
|
|
(?P<id>[^?#&]+)
|
|
|
'''
|
|
|
- _API_HOST = 'v8-psapi.nrk.no'
|
|
|
+ _API_HOSTS = ('psapi.nrk.no', 'v8-psapi.nrk.no')
|
|
|
_TESTS = [{
|
|
|
# video
|
|
|
'url': 'http://www.nrk.no/video/PS*150533',
|
|
@@ -237,8 +247,7 @@ class NRKTVIE(NRKBaseIE):
|
|
|
(?:/\d{2}-\d{2}-\d{4})?
|
|
|
(?:\#del=(?P<part_id>\d+))?
|
|
|
''' % _EPISODE_RE
|
|
|
- _API_HOST = 'psapi-we.nrk.no'
|
|
|
-
|
|
|
+ _API_HOSTS = ('psapi-ne.nrk.no', 'psapi-we.nrk.no')
|
|
|
_TESTS = [{
|
|
|
'url': 'https://tv.nrk.no/serie/20-spoersmaal-tv/MUHH48000314/23-05-2014',
|
|
|
'md5': '4e9ca6629f09e588ed240fb11619922a',
|