Skip to content

Commit

Permalink
[extractor/Stripchat] Fix extractor (#5985)
Browse files Browse the repository at this point in the history
Authored by bashonly, JChris246
Closes #5963, closes #5866
  • Loading branch information
JChris246 committed Feb 12, 2023
1 parent c62e64c commit 7d5f919
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions yt_dlp/extractor/stripchat.py
Original file line number Diff line number Diff line change
@@ -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):
Expand Down Expand Up @@ -35,16 +40,16 @@ def _real_extract(self, url):
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://b-{server}.{host}/hls/{model_id}/master/{model_id}_auto.m3u8',
video_id, ext='mp4', m3u8_id='hls', fatal=False, live=True)
if formats:
break
Expand Down

0 comments on commit 7d5f919

Please sign in to comment.