From eaeeef9c1d1bedb76fea953c332ef84d53bffe2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Fri, 2 Dec 2022 05:21:10 +0800 Subject: update from upstream --- hypervideo_dl/extractor/webcaster.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'hypervideo_dl/extractor/webcaster.py') diff --git a/hypervideo_dl/extractor/webcaster.py b/hypervideo_dl/extractor/webcaster.py index a858e99..43eeca0 100644 --- a/hypervideo_dl/extractor/webcaster.py +++ b/hypervideo_dl/extractor/webcaster.py @@ -1,6 +1,3 @@ -# coding: utf-8 -from __future__ import unicode_literals - import re from .common import InfoExtractor @@ -53,7 +50,6 @@ class WebcasterIE(InfoExtractor): 'format_note': track.get('title'), }) formats.extend(m3u8_formats) - self._sort_formats(formats) thumbnail = xpath_text(video, './/image', 'thumbnail') @@ -67,27 +63,23 @@ class WebcasterIE(InfoExtractor): class WebcasterFeedIE(InfoExtractor): _VALID_URL = r'https?://bl\.webcaster\.pro/feed/start/free_(?P[^/]+)' + _EMBED_REGEX = [r'<(?:object|a[^>]+class=["\']webcaster-player["\'])[^>]+data(?:-config)?=(["\']).*?config=(?Phttps?://bl\.webcaster\.pro/feed/start/free_.*?)(?:[?&]|\1)'] _TEST = { 'url': 'http://bl.webcaster.pro/feed/start/free_c8cefd240aa593681c8d068cff59f407_hd/q393859/eb173f99dd5f558674dae55f4ba6806d/1480289104', 'only_matching': True, } - @staticmethod - def _extract_url(ie, webpage): - mobj = re.search( - r'<(?:object|a[^>]+class=["\']webcaster-player["\'])[^>]+data(?:-config)?=(["\']).*?config=(?Phttps?://bl\.webcaster\.pro/feed/start/free_.*?)(?:[?&]|\1)', - webpage) - if mobj: - return mobj.group('url') + def _extract_from_webpage(self, url, webpage): + yield from super()._extract_from_webpage(url, webpage) + for secure in (True, False): - video_url = ie._og_search_video_url( - webpage, secure=secure, default=None) + video_url = self._og_search_video_url(webpage, secure=secure, default=None) if video_url: mobj = re.search( r'config=(?Phttps?://bl\.webcaster\.pro/feed/start/free_[^?&=]+)', video_url) if mobj: - return mobj.group('url') + yield self.url_result(mobj.group('url'), self) def _real_extract(self, url): video_id = self._match_id(url) -- cgit v1.2.3