]> jfr.im git - yt-dlp.git/commitdiff
[rai] Check for DRM (#150)
authornixxo <redacted>
Sun, 7 Mar 2021 07:31:59 +0000 (08:31 +0100)
committerGitHub <redacted>
Sun, 7 Mar 2021 07:31:59 +0000 (13:01 +0530)
Authored by: nixxo <redacted>

yt_dlp/extractor/rai.py

index c78580d957b17299961fc0a972dd4f8476839b0a..d09b4a735707046ef98262d90d19df705f57fbff 100644 (file)
@@ -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']