diff options
Diffstat (limited to 'yt_dlp/extractor/xvideos.py')
-rw-r--r-- | yt_dlp/extractor/xvideos.py | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/yt_dlp/extractor/xvideos.py b/yt_dlp/extractor/xvideos.py index 6b16ac2..e7d43ba 100644 --- a/yt_dlp/extractor/xvideos.py +++ b/yt_dlp/extractor/xvideos.py @@ -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 @@ class XVideosIE(InfoExtractor): 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 @@ class XVideosIE(InfoExtractor): 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 @@ class XVideosIE(InfoExtractor): 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 @@ class XVideosIE(InfoExtractor): 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): |