diff options
author | Jesus <heckyel@riseup.net> | 2023-09-04 01:37:13 +0800 |
---|---|---|
committer | Jesus <heckyel@riseup.net> | 2023-09-04 01:37:13 +0800 |
commit | 52d97967fb3b196759c19ae40a4c63dbb2557a19 (patch) | |
tree | c49e561914d2d01f2ef022443d304728a08dac25 /yt_dlp/extractor/stripchat.py | |
parent | a9d0affcff8d499212852d9c711112b29defe612 (diff) | |
parent | 2301b5c1b77a65abbb46b72f91e1e4666fd5d985 (diff) | |
download | hypervideo-pre-52d97967fb3b196759c19ae40a4c63dbb2557a19.tar.lz hypervideo-pre-52d97967fb3b196759c19ae40a4c63dbb2557a19.tar.xz hypervideo-pre-52d97967fb3b196759c19ae40a4c63dbb2557a19.zip |
update from upstream
Diffstat (limited to 'yt_dlp/extractor/stripchat.py')
-rw-r--r-- | yt_dlp/extractor/stripchat.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/yt_dlp/extractor/stripchat.py b/yt_dlp/extractor/stripchat.py index 4229a0bf1..b9523c865 100644 --- a/yt_dlp/extractor/stripchat.py +++ b/yt_dlp/extractor/stripchat.py @@ -1,5 +1,10 @@ from .common import InfoExtractor -from ..utils import ExtractorError, lowercase_escape, traverse_obj +from ..utils import ( + ExtractorError, + UserNotLive, + lowercase_escape, + traverse_obj +) class StripchatIE(InfoExtractor): @@ -35,16 +40,15 @@ class StripchatIE(InfoExtractor): if traverse_obj(data, ('viewCam', 'show'), expected_type=dict): raise ExtractorError('Model is in private show', expected=True) elif not traverse_obj(data, ('viewCam', 'model', 'isLive'), expected_type=bool): - raise ExtractorError('Model is offline', expected=True) + raise UserNotLive(video_id=video_id) - server = traverse_obj(data, ('viewCam', 'viewServers', 'flashphoner-hls'), expected_type=str) model_id = traverse_obj(data, ('viewCam', 'model', 'id'), expected_type=int) formats = [] - for host in traverse_obj(data, ( - 'config', 'data', (('featuresV2', 'hlsFallback', 'fallbackDomains', ...), 'hlsStreamHost'))): + for host in traverse_obj(data, ('config', 'data', ( + (('features', 'featuresV2'), 'hlsFallback', 'fallbackDomains', ...), 'hlsStreamHost'))): formats = self._extract_m3u8_formats( - f'https://b-{server}.{host}/hls/{model_id}/{model_id}.m3u8', + f'https://edge-hls.{host}/hls/{model_id}/master/{model_id}_auto.m3u8', video_id, ext='mp4', m3u8_id='hls', fatal=False, live=True) if formats: break |