aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/prosiebensat1.py
diff options
context:
space:
mode:
Diffstat (limited to 'youtube_dl/extractor/prosiebensat1.py')
-rw-r--r--youtube_dl/extractor/prosiebensat1.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/youtube_dl/extractor/prosiebensat1.py b/youtube_dl/extractor/prosiebensat1.py
index fec008ce7..effcf1db3 100644
--- a/youtube_dl/extractor/prosiebensat1.py
+++ b/youtube_dl/extractor/prosiebensat1.py
@@ -9,7 +9,9 @@ from ..compat import (
compat_urllib_parse,
)
from ..utils import (
+ ExtractorError,
determine_ext,
+ float_or_none,
int_or_none,
unified_strdate,
)
@@ -224,10 +226,13 @@ class ProSiebenSat1IE(InfoExtractor):
'ids': clip_id,
})
- videos = self._download_json(videos_api_url, clip_id, 'Downloading videos JSON')
+ video = self._download_json(videos_api_url, clip_id, 'Downloading videos JSON')[0]
- duration = float(videos[0]['duration'])
- source_ids = [source['id'] for source in videos[0]['sources']]
+ if video.get('is_protected') is True:
+ raise ExtractorError('This video is DRM protected.', expected=True)
+
+ duration = float_or_none(video.get('duration'))
+ source_ids = [source['id'] for source in video['sources']]
source_ids_str = ','.join(map(str, source_ids))
g = '01!8d8F_)r9]4s[qeuXfP%'