]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/projectveritas.py
[ie/matchtv] Fix extractor (#10190)
[yt-dlp.git] / yt_dlp / extractor / projectveritas.py
index 1d832a6796a44e0418288b2be7e2038ef070a303..6f4248526d8c44aa393e15e8f8baf09d80255ee3 100644 (file)
@@ -1,6 +1,3 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
 from .common import InfoExtractor
 from ..utils import (
     ExtractorError,
@@ -10,7 +7,8 @@
 
 
 class ProjectVeritasIE(InfoExtractor):
-    _VALID_URL = r'(?:https?://)(?:www\.)?projectveritas\.com/(?P<type>news|video)/(?P<id>[^/?#]+)'
+    _WORKING = False
+    _VALID_URL = r'https?://(?:www\.)?projectveritas\.com/(?P<type>news|video)/(?P<id>[^/?#]+)'
     _TESTS = [{
         'url': 'https://www.projectveritas.com/news/exclusive-inside-the-new-york-and-new-jersey-hospitals-battling-coronavirus/',
         'info_dict': {
@@ -19,7 +17,7 @@ class ProjectVeritasIE(InfoExtractor):
             'title': 'Exclusive: Inside The New York and New Jersey Hospitals Battling Coronavirus',
             'upload_date': '20200327',
             'thumbnail': 'md5:6076477fe50b03eb8708be9415e18e1c',
-        }
+        },
     }, {
         'url': 'https://www.projectveritas.com/video/ilhan-omar-connected-ballot-harvester-in-cash-for-ballots-scheme-car-is-full/',
         'info_dict': {
@@ -28,13 +26,13 @@ class ProjectVeritasIE(InfoExtractor):
             'title': 'Ilhan Omar connected Ballot Harvester in cash-for-ballots scheme: "Car is full" of absentee ballots',
             'upload_date': '20200927',
             'thumbnail': 'md5:194b8edf0e2ba64f25500ff4378369a4',
-        }
+        },
     }]
 
     def _real_extract(self, url):
-        id, type = self._match_valid_url(url).group('id', 'type')
-        api_url = f'https://www.projectveritas.com/page-data/{type}/{id}/page-data.json'
-        data_json = self._download_json(api_url, id)['result']['data']
+        video_id, video_type = self._match_valid_url(url).group('id', 'type')
+        api_url = f'https://www.projectveritas.com/page-data/{video_type}/{video_id}/page-data.json'
+        data_json = self._download_json(api_url, video_id)['result']['data']
         main_data = traverse_obj(data_json, 'video', 'post')
         video_id = main_data['id']
         thumbnail = traverse_obj(main_data, ('image', 'ogImage', 'src'))
@@ -45,7 +43,6 @@ def _real_extract(self, url):
             raise ExtractorError('No video on the provided url.', expected=True)
         playback_id = traverse_obj(mux_asset, 'playbackId', ('en-US', 'playbackId'))
         formats = self._extract_m3u8_formats(f'https://stream.mux.com/{playback_id}.m3u8', video_id)
-        self._sort_formats(formats)
         return {
             'id': video_id,
             'title': main_data['title'],