1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-07-10 15:28:33 +00:00

check online status; fix test

This commit is contained in:
Mozi 2025-01-14 07:40:57 +00:00
parent cf67353049
commit 251ed26068

View File

@ -1,4 +1,5 @@
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import UserNotLive
class ShowupTvIE(InfoExtractor): class ShowupTvIE(InfoExtractor):
@ -6,21 +7,20 @@ class ShowupTvIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?showup\.tv/(?P<id>[\w-]+)(?:$|[#?])' _VALID_URL = r'https?://(?:www\.)?showup\.tv/(?P<id>[\w-]+)(?:$|[#?])'
_TESTS = [{ _TESTS = [{
'url': 'https://showup.tv/Kayla', 'url': 'https://showup.tv/malamisia',
'info_dict': { 'info_dict': {
'id': '6c6c81226012516a8121da51c135cf54', 'id': 'c4dfef41fe4f5e9838028f2f8f160086',
'ext': 'flv', 'ext': 'flv',
'live_status': 'is_live', 'live_status': 'is_live',
'url': r're:^rtmp://[\w-]+?\.showup\.tv/webrtc/[a-z0-9]{32}_aac$', 'url': r're:^rtmp://[\w-]+?\.showup\.tv/webrtc/[a-z0-9]{32}_aac$',
'title': r're:Kayla - Darmowe sex kamerki, chat na żywo. Seks pokazy online - live show webcams \d{4}-\d{2}-\d{1,2} \d{1,2}:\d{1,2}', 'title': r're:malamisia - Darmowe sex kamerki, chat na żywo. Seks pokazy online - live show webcams \d{4}-\d{2}-\d{1,2} \d{1,2}:\d{1,2}',
'uploader_id': 'Kayla', 'uploader_id': 'malamisia',
'uploader_url': 'https://showup.tv/profile/Kayla', 'uploader_url': 'https://showup.tv/profile/malamisia',
}, },
'params': { 'params': {
# rtmp download # rtmp download
'skip_download': True, 'skip_download': True,
}, },
'skip': 'Room is offline',
}, { }, {
'url': 'https://showup.tv/_Sensej', 'url': 'https://showup.tv/_Sensej',
'only_matching': True, 'only_matching': True,
@ -34,21 +34,22 @@ def _real_initialize(self):
def _extract_player_var(self, variable, html): def _extract_player_var(self, variable, html):
return self._html_search_regex( return self._html_search_regex(
rf'player\.{variable}\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1', html, variable, group='value') rf'player\.{variable}\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1', html, variable, group='value', default=None)
def _real_extract(self, url): def _real_extract(self, url):
uploader_id = self._match_id(url) uploader_id = self._match_id(url)
webpage = self._download_webpage(url, uploader_id) webpage = self._download_webpage(url, uploader_id)
stream_id = self._extract_player_var('streamID', webpage) stream_id = self._extract_player_var('streamID', webpage)
server_url = self._extract_player_var('transcoderAddr', webpage) if not stream_id:
raise UserNotLive(video_id=uploader_id)
return { return {
'id': stream_id, 'id': stream_id,
'title': self._html_extract_title(webpage), 'title': self._html_extract_title(webpage),
'uploader_id': uploader_id, 'uploader_id': uploader_id,
'uploader_url': f'https://showup.tv/profile/{uploader_id}', 'uploader_url': f'https://showup.tv/profile/{uploader_id}',
'url': f'rtmp://{server_url}/webrtc/{stream_id}_aac', 'url': f'rtmp://{self._extract_player_var('transcoderAddr', webpage)}/webrtc/{stream_id}_aac',
'ext': 'flv', 'ext': 'flv',
'is_live': True, 'is_live': True,
} }