]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/xvideos.py
[cleanup] Add more ruff rules (#10149)
[yt-dlp.git] / yt_dlp / extractor / xvideos.py
index 6b16ac2915c0d3e2fe0ceb56ed5c85cccfffbb01..e7d43ba9d9b8467d64c3721551d7235f105c6e39 100644 (file)
@@ -1,7 +1,7 @@
 import re
+import urllib.parse
 
 from .common import InfoExtractor
-from ..compat import compat_urllib_parse_unquote
 from ..utils import (
     ExtractorError,
     clean_html,
@@ -32,7 +32,7 @@ class XVideosIE(InfoExtractor):
             'duration': 1238,
             'age_limit': 18,
             'thumbnail': r're:^https://cdn\d+-pic.xvideos-cdn.com/.+\.jpg',
-        }
+        },
     }, {
         # Broken HLS formats
         'url': 'https://www.xvideos.com/video65982001/what_s_her_name',
@@ -44,7 +44,7 @@ class XVideosIE(InfoExtractor):
             'duration': 120,
             'age_limit': 18,
             'thumbnail': r're:^https://cdn\d+-pic.xvideos-cdn.com/.+\.jpg',
-        }
+        },
     }, {
         'url': 'https://flashservice.xvideos.com/embedframe/4588838',
         'only_matching': True,
@@ -56,40 +56,40 @@ class XVideosIE(InfoExtractor):
         'only_matching': True,
     }, {
         'url': 'http://xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://xvideos.es/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://www.xvideos.es/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'http://xvideos.es/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'http://www.xvideos.es/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'http://fr.xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://fr.xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'http://it.xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://it.xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'http://de.xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://de.xvideos.com/video4588838/biker_takes_his_girl',
-        'only_matching': True
+        'only_matching': True,
     }, {
         'url': 'https://flashservice.xvideos.com/embedframe/ucuvbkfda4e',
         'only_matching': True,
@@ -101,7 +101,7 @@ class XVideosIE(InfoExtractor):
         'only_matching': True,
     }, {
         'url': 'https://xvideos.es/video.ucuvbkfda4e/a_beautiful_red-haired_stranger_was_refused_but_still_came_to_my_room_for_sex',
-        'only_matching': True
+        'only_matching': True,
     }]
 
     def _real_extract(self, url):
@@ -110,7 +110,7 @@ def _real_extract(self, url):
 
         mobj = re.search(r'<h1 class="inlineError">(.+?)</h1>', webpage)
         if mobj:
-            raise ExtractorError('%s said: %s' % (self.IE_NAME, clean_html(mobj.group(1))), expected=True)
+            raise ExtractorError(f'{self.IE_NAME} said: {clean_html(mobj.group(1))}', expected=True)
 
         title = self._html_search_regex(
             (r'<title>(?P<title>.+?)\s+-\s+XVID',
@@ -121,7 +121,7 @@ def _real_extract(self, url):
         thumbnails = []
         for preference, thumbnail in enumerate(('', '169')):
             thumbnail_url = self._search_regex(
-                r'setThumbUrl%s\(\s*(["\'])(?P<thumbnail>(?:(?!\1).)+)\1' % thumbnail,
+                rf'setThumbUrl{thumbnail}\(\s*(["\'])(?P<thumbnail>(?:(?!\1).)+)\1',
                 webpage, 'thumbnail', default=None, group='thumbnail')
             if thumbnail_url:
                 thumbnails.append({
@@ -137,7 +137,7 @@ def _real_extract(self, url):
 
         formats = []
 
-        video_url = compat_urllib_parse_unquote(self._search_regex(
+        video_url = urllib.parse.unquote(self._search_regex(
             r'flv_url=(.+?)&', webpage, 'video URL', default=''))
         if video_url:
             formats.append({
@@ -157,7 +157,7 @@ def _real_extract(self, url):
             elif format_id in ('urllow', 'urlhigh'):
                 formats.append({
                     'url': format_url,
-                    'format_id': '%s-%s' % (determine_ext(format_url, 'mp4'), format_id[3:]),
+                    'format_id': '{}-{}'.format(determine_ext(format_url, 'mp4'), format_id[3:]),
                     'quality': -2 if format_id.endswith('low') else None,
                 })
 
@@ -184,7 +184,7 @@ class XVideosQuickiesIE(InfoExtractor):
             'age_limit': 18,
             'duration': 81,
             'thumbnail': r're:^https://cdn.*-pic.xvideos-cdn.com/.+\.jpg',
-        }
+        },
     }, {
         'url': 'https://www.xvideos.com/profiles/lili_love#quickies/a/ipphaob6fd1',
         'md5': '5340938aac6b46e19ebdd1d84535862e',
@@ -195,7 +195,7 @@ class XVideosQuickiesIE(InfoExtractor):
             'age_limit': 18,
             'duration': 56,
             'thumbnail': r're:^https://cdn.*-pic.xvideos-cdn.com/.+\.jpg',
-        }
+        },
     }, {
         'url': 'https://www.xvideos.com/amateur-channels/lili_love#quickies/a/hfmffmd7661',
         'md5': '92428518bbabcb4c513e55922e022491',
@@ -206,7 +206,7 @@ class XVideosQuickiesIE(InfoExtractor):
             'age_limit': 18,
             'duration': 9,
             'thumbnail': r're:^https://cdn.*-pic.xvideos-cdn.com/.+\.jpg',
-        }
+        },
     }, {
         'url': 'https://www.xvideos.com/amateur-channels/wifeluna#quickies/a/47258683',
         'md5': '16e322a93282667f1963915568f782c1',
@@ -217,7 +217,7 @@ class XVideosQuickiesIE(InfoExtractor):
             'age_limit': 18,
             'duration': 16,
             'thumbnail': r're:^https://cdn.*-pic.xvideos-cdn.com/.+\.jpg',
-        }
+        },
     }]
 
     def _real_extract(self, url):