summary refs log tree commit diff
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
parent7dfd966848e17e3d438e5e49e1088b8b1444f9e5 (diff)
downloadyoutube-dl-85de33b04ef339005cea949576dda4b553296f50.tar.gz
youtube-dl-85de33b04ef339005cea949576dda4b553296f50.tar.xz
youtube-dl-85de33b04ef339005cea949576dda4b553296f50.zip
[nrk] Improve series metadata extraction
-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'