mirror of
https://github.com/l1ving/youtube-dl
synced 2025-03-10 04:09:58 +08:00
[nrk] fix and update extractor
Added new error message Fixed tests, some of the existing ones were removed from the site
This commit is contained in:
parent
7ea55819ac
commit
8d1380697b
@ -105,6 +105,7 @@ class NRKBaseIE(InfoExtractor):
|
|||||||
MESSAGES = {
|
MESSAGES = {
|
||||||
'ProgramRightsAreNotReady': 'Du kan dessverre ikke se eller høre programmet',
|
'ProgramRightsAreNotReady': 'Du kan dessverre ikke se eller høre programmet',
|
||||||
'ProgramRightsHasExpired': 'Programmet har gått ut',
|
'ProgramRightsHasExpired': 'Programmet har gått ut',
|
||||||
|
'NoProgramRights': 'Ikke tilgjengelig',
|
||||||
'ProgramIsGeoBlocked': 'NRK har ikke rettigheter til å vise dette programmet utenfor Norge',
|
'ProgramIsGeoBlocked': 'NRK har ikke rettigheter til å vise dette programmet utenfor Norge',
|
||||||
}
|
}
|
||||||
message_type = data.get('messageType', '')
|
message_type = data.get('messageType', '')
|
||||||
@ -255,6 +256,19 @@ class NRKTVIE(NRKBaseIE):
|
|||||||
''' % _EPISODE_RE
|
''' % _EPISODE_RE
|
||||||
_API_HOSTS = ('psapi-ne.nrk.no', 'psapi-we.nrk.no')
|
_API_HOSTS = ('psapi-ne.nrk.no', 'psapi-we.nrk.no')
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
|
'url': 'https://tv.nrk.no/serie/blank/sesong/1/episode/3',
|
||||||
|
'md5': '22053d8a7641709940ad195853b197f0',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'MUHH69000318AA',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Uten mål og mening 3:9',
|
||||||
|
'description': 'md5:32692999accf028f406bf3bc73eb29ac',
|
||||||
|
'duration': 1698,
|
||||||
|
'series': 'Blank',
|
||||||
|
'episode': '3:9',
|
||||||
|
'age_limit': 12
|
||||||
|
},
|
||||||
|
}, {
|
||||||
'url': 'https://tv.nrk.no/serie/20-spoersmaal-tv/MUHH48000314/23-05-2014',
|
'url': 'https://tv.nrk.no/serie/20-spoersmaal-tv/MUHH48000314/23-05-2014',
|
||||||
'md5': '9a167e54d04671eb6317a37b7bc8a280',
|
'md5': '9a167e54d04671eb6317a37b7bc8a280',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
@ -370,7 +384,27 @@ class NRKTVIE(NRKBaseIE):
|
|||||||
|
|
||||||
class NRKTVEpisodeIE(InfoExtractor):
|
class NRKTVEpisodeIE(InfoExtractor):
|
||||||
_VALID_URL = r'https?://tv\.nrk\.no/serie/(?P<id>[^/]+/sesong/\d+/episode/\d+)'
|
_VALID_URL = r'https?://tv\.nrk\.no/serie/(?P<id>[^/]+/sesong/\d+/episode/\d+)'
|
||||||
_TEST = {
|
_TESTS = [{
|
||||||
|
'url': 'https://tv.nrk.no/serie/hellums-kro/sesong/1/episode/2',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'MUHH36005220BA',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Kro, krig og kjærlighet 2:6',
|
||||||
|
'description': 'Jan tviholder på sine prinsipper. '
|
||||||
|
'Oddbjørn er skeptisk til Jans evne til å lede '
|
||||||
|
'dem og bestemmer seg for å ta saken i egne hender.',
|
||||||
|
'duration': 1563,
|
||||||
|
'series': 'Hellums kro',
|
||||||
|
'season_number': 1,
|
||||||
|
'episode_number': 2,
|
||||||
|
'episode': '2:6',
|
||||||
|
'age_limit': 6
|
||||||
|
},
|
||||||
|
'params': {
|
||||||
|
'skip_download': True,
|
||||||
|
},
|
||||||
|
}, {
|
||||||
|
# Expired show
|
||||||
'url': 'https://tv.nrk.no/serie/backstage/sesong/1/episode/8',
|
'url': 'https://tv.nrk.no/serie/backstage/sesong/1/episode/8',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'MSUI14000816AA',
|
'id': 'MSUI14000816AA',
|
||||||
@ -386,7 +420,7 @@ class NRKTVEpisodeIE(InfoExtractor):
|
|||||||
'params': {
|
'params': {
|
||||||
'skip_download': True,
|
'skip_download': True,
|
||||||
},
|
},
|
||||||
}
|
}]
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
display_id = self._match_id(url)
|
display_id = self._match_id(url)
|
||||||
@ -408,7 +442,7 @@ class NRKTVSerieBaseIE(InfoExtractor):
|
|||||||
self._search_regex(
|
self._search_regex(
|
||||||
(r'INITIAL_DATA(?:_V\d)?_*\s*=\s*({.+?})\s*;',
|
(r'INITIAL_DATA(?:_V\d)?_*\s*=\s*({.+?})\s*;',
|
||||||
r'({.+?})\s*,\s*"[^"]+"\s*\)\s*</script>'),
|
r'({.+?})\s*,\s*"[^"]+"\s*\)\s*</script>'),
|
||||||
webpage, 'config', default='{}' if not fatal else NO_DEFAULT),
|
webpage.replace("undefined", '"undefined"'), 'config', default='{}' if not fatal else NO_DEFAULT),
|
||||||
display_id, fatal=False)
|
display_id, fatal=False)
|
||||||
if not config:
|
if not config:
|
||||||
return
|
return
|
||||||
@ -479,6 +513,16 @@ class NRKTVSeriesIE(NRKTVSerieBaseIE):
|
|||||||
_VALID_URL = r'https?://(?:tv|radio)\.nrk(?:super)?\.no/serie/(?P<id>[^/]+)'
|
_VALID_URL = r'https?://(?:tv|radio)\.nrk(?:super)?\.no/serie/(?P<id>[^/]+)'
|
||||||
_ITEM_RE = r'(?:data-season=["\']|id=["\']season-)(?P<id>\d+)'
|
_ITEM_RE = r'(?:data-season=["\']|id=["\']season-)(?P<id>\d+)'
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
|
'url': 'https://tv.nrk.no/serie/blank',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'blank',
|
||||||
|
'title': 'Blank',
|
||||||
|
'description': 'Da Markus dro fra bygda var han den kuleste fyren med den fineste dama. '
|
||||||
|
'Etter kort tid er han tilbake. Og ingenting er som før. Norsk dramaserie.',
|
||||||
|
'age_limit': None
|
||||||
|
},
|
||||||
|
'playlist_mincount': 30,
|
||||||
|
}, {
|
||||||
# new layout, seasons
|
# new layout, seasons
|
||||||
'url': 'https://tv.nrk.no/serie/backstage',
|
'url': 'https://tv.nrk.no/serie/backstage',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
@ -648,7 +692,7 @@ class NRKSkoleIE(InfoExtractor):
|
|||||||
|
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'https://www.nrk.no/skole/?page=search&q=&mediaId=14099',
|
'url': 'https://www.nrk.no/skole/?page=search&q=&mediaId=14099',
|
||||||
'md5': '6bc936b01f9dd8ed45bc58b252b2d9b6',
|
'md5': '18c12c3d071953c3bf8d54ef6b2587b7',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': '6021',
|
'id': '6021',
|
||||||
'ext': 'mp4',
|
'ext': 'mp4',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user