]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/ndr.py
[cleanup] Add more ruff rules (#10149)
[yt-dlp.git] / yt_dlp / extractor / ndr.py
index 243221d46be416604dd2ce8c7c9986d075edb1ca..5181c7f20cd71e578ae6492b66ab20bbcf82e741 100644 (file)
@@ -1,7 +1,7 @@
 import re
+import urllib.parse
 
 from .common import InfoExtractor
-from ..compat import compat_urllib_parse_urlparse
 from ..utils import (
     ExtractorError,
     determine_ext,
@@ -125,13 +125,13 @@ def _extract_embed(self, webpage, display_id, url):
         # some more work needed if we only found sophoraID
         if re.match(r'^[a-z]+\d+$', embed_url):
             # get the initial part of the url path,. eg /panorama/archiv/2022/
-            parsed_url = compat_urllib_parse_urlparse(url)
-            path = self._search_regex(r'(.+/)%s' % display_id, parsed_url.path or '', 'embed URL', default='')
+            parsed_url = urllib.parse.urlparse(url)
+            path = self._search_regex(rf'(.+/){display_id}', parsed_url.path or '', 'embed URL', default='')
             # find tell-tale image with the actual ID
-            ndr_id = self._search_regex(r'%s([a-z]+\d+)(?!\.)\b' % (path, ), webpage, 'embed URL', default=None)
+            ndr_id = self._search_regex(rf'{path}([a-z]+\d+)(?!\.)\b', webpage, 'embed URL', default=None)
             # or try to use special knowledge!
             NDR_INFO_URL_TPL = 'https://www.ndr.de/info/%s-player.html'
-            embed_url = 'ndr:%s' % (ndr_id, ) if ndr_id else NDR_INFO_URL_TPL % (embed_url, )
+            embed_url = f'ndr:{ndr_id}' if ndr_id else NDR_INFO_URL_TPL % (embed_url, )
         if not embed_url:
             raise ExtractorError('Unable to extract embedUrl')
 
@@ -141,7 +141,7 @@ def _extract_embed(self, webpage, display_id, url):
         timestamp = parse_iso8601(
             self._search_regex(
                 (r'<span[^>]+itemprop="(?:datePublished|uploadDate)"[^>]+content="(?P<cont>[^"]+)"',
-                 r'\bvar\s*pdt\s*=\s*(?P<q>["\'])(?P<cont>(?:(?!(?P=q)).)+)(?P=q)'),
+                 r'\bvar\s*pdt\s*=\s*(?P<q>["\'])(?P<cont>(?:(?!(?P=q)).)+)(?P=q)'),
                 webpage, 'upload date', group='cont', default=None))
         info = self._search_json_ld(webpage, display_id, default={})
         return merge_dicts({
@@ -200,7 +200,7 @@ def _extract_embed(self, webpage, display_id, url=None):
         # find tell-tale URL with the actual ID, or ...
         video_id = self._search_regex(
             (r'''\bsrc\s*=\s*["']?(?:/\w+)+/([a-z]+\d+)(?!\.)\b''',
-             r'<iframe[^>]+id="pp_([\da-z]+)"'),
+             r'<iframe[^>]+id="pp_([\da-z]+)"'),
             webpage, 'NDR id', default=None)
 
         description = (
@@ -211,7 +211,7 @@ def _extract_embed(self, webpage, display_id, url=None):
         return {
             '_type': 'url_transparent',
             'ie_key': 'NDREmbedBase',
-            'url': 'ndr:%s' % video_id,
+            'url': f'ndr:{video_id}',
             'display_id': display_id,
             'description': description,
             'title': display_id.replace('-', ' ').strip(),
@@ -234,7 +234,7 @@ def _real_extract(self, url):
         video_id = mobj.group('id') or mobj.group('id_s')
 
         ppjson = self._download_json(
-            'http://www.ndr.de/%s-ppjson.json' % video_id, video_id)
+            f'http://www.ndr.de/{video_id}-ppjson.json', video_id)
 
         playlist = ppjson['playlist']