aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2021-01-03 07:02:13 +0700
committerSergey M․ <dstftw@gmail.com>2021-01-03 07:02:13 +0700
commit7dfd966848e17e3d438e5e49e1088b8b1444f9e5 (patch)
treebeb6054bc6e0d3387c51066bcb055ed8cda73aee /youtube_dl/extractor
parenta25d03d7cb52111fab906c2c180f9bdf2c52ed12 (diff)
downloadyoutube-dl-7dfd966848e17e3d438e5e49e1088b8b1444f9e5.tar.xz
[nrk] Extract subtitles
Diffstat (limited to 'youtube_dl/extractor')
-rw-r--r--youtube_dl/extractor/nrk.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/youtube_dl/extractor/nrk.py b/youtube_dl/extractor/nrk.py
index d023de7f7..bd96d9d14 100644
--- a/youtube_dl/extractor/nrk.py
+++ b/youtube_dl/extractor/nrk.py
@@ -12,6 +12,7 @@ from ..utils import (
ExtractorError,
int_or_none,
parse_duration,
+ str_or_none,
try_get,
urljoin,
url_or_none,
@@ -204,6 +205,21 @@ class NRKIE(NRKBaseIE):
'height': int_or_none(image.get('pixelHeight')),
})
+ subtitles = {}
+ for sub in try_get(playable, lambda x: x['subtitles'], list) or []:
+ if not isinstance(sub, dict):
+ continue
+ sub_url = url_or_none(sub.get('webVtt'))
+ if not sub_url:
+ continue
+ sub_key = str_or_none(sub.get('language')) or 'nb'
+ sub_type = str_or_none(sub.get('type'))
+ if sub_type:
+ sub_key += '-%s' % sub_type
+ subtitles.setdefault(sub_key, []).append({
+ 'url': sub_url,
+ })
+
age_limit = int_or_none(try_get(
data, lambda x: x['legalAge']['body']['rating']['code']))
@@ -216,6 +232,7 @@ class NRKIE(NRKBaseIE):
'thumbnails': thumbnails,
'age_limit': age_limit,
'formats': formats,
+ 'subtitles': subtitles,
}