From d33b3ee8ed63f262346cea49785dc2b101c586f0 Mon Sep 17 00:00:00 2001 From: dirkf Date: Fri, 23 Feb 2024 00:39:08 +0000 Subject: [PATCH] Update XFileShareIE --- youtube_dl/extractor/xfileshare.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/youtube_dl/extractor/xfileshare.py b/youtube_dl/extractor/xfileshare.py index 3fc5fc53546..d311def975a 100644 --- a/youtube_dl/extractor/xfileshare.py +++ b/youtube_dl/extractor/xfileshare.py @@ -163,8 +163,12 @@ class XFileShareIE(InfoExtractor): @classmethod def _extract_urls(cls, webpage): - return [ - mobj.group('url') + + def yield_urls(): + for regex in cls._EMBED_REGEX: + for mobj in re.finditer(regex, webpage): + yield mobj.group('url') + for mobj in re.finditer(cls._EMBED_REGEX, webpage)] def _real_extract(self, url): @@ -216,15 +220,11 @@ def _real_extract(self, url): webpage = webpage.replace(obf_code, func(obf_code)) break - jwplayer_data = None - try: - jwplayer_data = self._find_jwplayer_data( - webpage.replace(r'\'', '\''), video_id) - result = self._parse_jwplayer_data( - jwplayer_data, video_id, require_title=False, - m3u8_id='hls', mpd_id='dash') - except ExtractorError: - result = None + jwplayer_data = self._find_jwplayer_data( + webpage.replace(r'\'', '\''), video_id) + result = self._parse_jwplayer_data( + jwplayer_data, video_id, require_title=False, + m3u8_id='hls', mpd_id='dash') if not traverse_obj(result, 'formats'): if jwplayer_data: