projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
16ee69c
)
[nrktv:episode] Improve video id extraction (closes #25594, closes #26369, closes...
author
Sergey M․
<dstftw@gmail.com>
Sun, 6 Sep 2020 05:42:57 +0000
(12:42 +0700)
committer
Sergey M․
<dstftw@gmail.com>
Sun, 6 Sep 2020 05:43:50 +0000
(12:43 +0700)
youtube_dl/extractor/nrk.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/nrk.py
b/youtube_dl/extractor/nrk.py
index 94115534b72ac19f3aaea3e35ef06fa3eaef3d7f..84aacbcda77e699fd9cca81663c857801f529b76 100644
(file)
--- a/
youtube_dl/extractor/nrk.py
+++ b/
youtube_dl/extractor/nrk.py
@@
-11,7
+11,6
@@
from ..compat import (
from ..utils import (
ExtractorError,
int_or_none,
from ..utils import (
ExtractorError,
int_or_none,
- JSON_LD_RE,
js_to_json,
NO_DEFAULT,
parse_age_limit,
js_to_json,
NO_DEFAULT,
parse_age_limit,
@@
-425,13
+424,20
@@
class NRKTVEpisodeIE(InfoExtractor):
webpage = self._download_webpage(url, display_id)
webpage = self._download_webpage(url, display_id)
- nrk_id = self._parse_json(
- self._search_regex(JSON_LD_RE, webpage, 'JSON-LD', group='json_ld'),
- display_id)['@id']
-
+ info = self._search_json_ld(webpage, display_id, default={})
+ nrk_id = info.get('@id') or self._html_search_meta(
+ 'nrk:program-id', webpage, default=None) or self._search_regex(
+ r'data-program-id=["\'](%s)' % NRKTVIE._EPISODE_RE, webpage,
+ 'nrk id')
assert re.match(NRKTVIE._EPISODE_RE, nrk_id)
assert re.match(NRKTVIE._EPISODE_RE, nrk_id)
- return self.url_result(
- 'nrk:%s' % nrk_id, ie=NRKIE.ie_key(), video_id=nrk_id)
+
+ info.update({
+ '_type': 'url_transparent',
+ 'id': nrk_id,
+ 'url': 'nrk:%s' % nrk_id,
+ 'ie_key': NRKIE.ie_key(),
+ })
+ return info
class NRKTVSerieBaseIE(InfoExtractor):
class NRKTVSerieBaseIE(InfoExtractor):