]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/washingtonpost.py
[cleanup] Add more ruff rules (#10149)
[yt-dlp.git] / yt_dlp / extractor / washingtonpost.py
index 7274eaa396401d10913374f41540866e4070987d..36e1f30e5dd9110046c21e1b5f0d0d945ac18fc2 100644 (file)
@@ -1,14 +1,13 @@
 import re
 
 from .common import InfoExtractor
-
 from ..utils import traverse_obj
 
 
 class WashingtonPostIE(InfoExtractor):
     IE_NAME = 'washingtonpost'
     _VALID_URL = r'(?:washingtonpost:|https?://(?:www\.)?washingtonpost\.com/(?:video|posttv)/(?:[^/]+/)*)(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})'
-    _EMBED_URL = r'https?://(?:www\.)?washingtonpost\.com/video/c/embed/[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}'
+    _EMBED_REGEX = [r'<iframe[^>]+\bsrc=["\'](?P<url>https?://(?:www\.)?washingtonpost\.com/video/c/embed/[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})']
     _TESTS = [{
         'url': 'https://www.washingtonpost.com/video/c/video/480ba4ee-1ec7-11e6-82c2-a7dcb313287d',
         'md5': '6f537e1334b714eb15f9563bd4b9cdfa',
@@ -28,11 +27,6 @@ class WashingtonPostIE(InfoExtractor):
         'only_matching': True,
     }]
 
-    @classmethod
-    def _extract_urls(cls, webpage):
-        return re.findall(
-            r'<iframe[^>]+\bsrc=["\'](%s)' % cls._EMBED_URL, webpage)
-
     def _real_extract(self, url):
         video_id = self._match_id(url)
         return self.url_result(
@@ -88,7 +82,7 @@ class WashingtonPostArticleIE(InfoExtractor):
                 'upload_date': '20141230',
                 'timestamp': 1419972442,
                 'title': 'Why black boxes don’t transmit data in real time',
-            }
+            },
         }],
         'skip': 'Doesnt have a video anymore',
     }, {
@@ -98,7 +92,7 @@ class WashingtonPostArticleIE(InfoExtractor):
 
     @classmethod
     def suitable(cls, url):
-        return False if WashingtonPostIE.suitable(url) else super(WashingtonPostArticleIE, cls).suitable(url)
+        return False if WashingtonPostIE.suitable(url) else super().suitable(url)
 
     def _real_extract(self, url):
         page_id = self._match_id(url)
@@ -118,7 +112,7 @@ def _real_extract(self, url):
                 if content_element.get('type') == 'video':
                     uuids.append(content_element.get('_id'))
 
-        entries = [self.url_result('washingtonpost:%s' % uuid, 'WashingtonPost', uuid) for uuid in uuids]
+        entries = [self.url_result(f'washingtonpost:{uuid}', 'WashingtonPost', uuid) for uuid in uuids]
 
         return {
             '_type': 'playlist',