aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/nrk.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2021-01-03 07:30:45 +0700
committerSergey M․ <dstftw@gmail.com>2021-01-03 07:30:45 +0700
commit85de33b04ef339005cea949576dda4b553296f50 (patch)
treefdf556c8d89fdd3bc136013f4c60325f5949adce /youtube_dl/extractor/nrk.py
parent7dfd966848e17e3d438e5e49e1088b8b1444f9e5 (diff)
downloadyoutube-dl-85de33b04ef339005cea949576dda4b553296f50.tar.xz
[nrk] Improve series metadata extraction
Diffstat (limited to 'youtube_dl/extractor/nrk.py')
-rw-r--r--youtube_dl/extractor/nrk.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/youtube_dl/extractor/nrk.py b/youtube_dl/extractor/nrk.py
index bd96d9d14..20a5d7673 100644
--- a/youtube_dl/extractor/nrk.py
+++ b/youtube_dl/extractor/nrk.py
@@ -223,7 +223,9 @@ class NRKIE(NRKBaseIE):
age_limit = int_or_none(try_get(
data, lambda x: x['legalAge']['body']['rating']['code']))
- return {
+ is_series = try_get(data, lambda x: x['_links']['series']['name']) == 'series'
+
+ info = {
'id': video_id,
'title': title,
'alt_title': alt_title,
@@ -235,6 +237,27 @@ class NRKIE(NRKBaseIE):
'subtitles': subtitles,
}
+ if is_series:
+ series = title
+ if alt_title:
+ title += ' - %s' % alt_title
+ season_number = int_or_none(self._search_regex(
+ r'Sesong\s+(\d+)', description or '', 'season number',
+ default=None))
+ episode = alt_title if is_series else None
+ episode_number = int_or_none(self._search_regex(
+ r'(\d+)\.\s+episode', episode or '', 'episode number',
+ default=None))
+ info.update({
+ 'title': title,
+ 'series': series,
+ 'season_number': season_number,
+ 'episode': episode,
+ 'episode_number': episode_number,
+ })
+
+ return info
+
class NRKTVIE(InfoExtractor):
IE_DESC = 'NRK TV and NRK Radio'