[RAI] Added checks for DRM protected content (PR #27657)
authornixxo <nixxo@protonmail.com>
Mon, 4 Jan 2021 14:11:47 +0000 (15:11 +0100)
committerdirkf <fieldhouse@gmx.net>
Tue, 5 Apr 2022 14:21:59 +0000 (15:21 +0100)
reviewed by pukkandan (https://github.com/yt-dlp/yt-dlp/pull/150)

youtube_dl/extractor/rai.py

index 67b86fc72c1ffa6b1bc6efe6009ababbd8e7d1b3..2abe164e0a5e303d59f156c8b858874721639183 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,13 @@ class RaiPlayIE(RaiBaseIE):
         media = self._download_json(
             base + '.json', video_id, 'Downloading video JSON')
 
+        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']