From 0852947fcc32a423f048d8eec40ad4d318993554 Mon Sep 17 00:00:00 2001 From: nixxo Date: Sun, 7 Mar 2021 08:31:59 +0100 Subject: [PATCH] [rai] Check for DRM (#150) Authored by: nixxo --- yt_dlp/extractor/rai.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yt_dlp/extractor/rai.py b/yt_dlp/extractor/rai.py index c78580d95..d09b4a735 100644 --- a/yt_dlp/extractor/rai.py +++ b/yt_dlp/extractor/rai.py @@ -158,6 +158,10 @@ class RaiPlayIE(RaiBaseIE): # subtitles at 'subtitlesArray' key (see #27698) 'url': 'https://www.raiplay.it/video/2020/12/Report---04-01-2021-2e90f1de-8eee-4de4-ac0e-78d21db5b600.html', 'only_matching': True, + }, { + # DRM protected + 'url': 'https://www.raiplay.it/video/2020/09/Lo-straordinario-mondo-di-Zoey-S1E1-Lo-straordinario-potere-di-Zoey-ed493918-1d32-44b7-8454-862e473d00ff.html', + 'only_matching': True, }] def _real_extract(self, url): @@ -166,6 +170,14 @@ def _real_extract(self, url): media = self._download_json( base + '.json', video_id, 'Downloading video JSON') + if not self.params.get('allow_unplayable_formats'): + if try_get( + media, + (lambda x: x['rights_management']['rights']['drm'], + lambda x: x['program_info']['rights_management']['rights']['drm']), + dict): + raise ExtractorError('This video is DRM protected.', expected=True) + title = media['name'] video = media['video']