[youtube,twitch] Allow waiting for channels to become live

Closes #2597
This commit is contained in:
pukkandan
2022-07-26 09:23:10 +05:30
parent 3bec830a59
commit 693f060040
4 changed files with 25 additions and 8 deletions

View File

@@ -12,10 +12,11 @@ from ..compat import (
compat_urllib_parse_urlparse,
)
from ..utils import (
ExtractorError,
UserNotLive,
base_url,
clean_html,
dict_get,
ExtractorError,
float_or_none,
int_or_none,
parse_duration,
@@ -940,7 +941,7 @@ class TwitchStreamIE(TwitchBaseIE):
stream = user['stream']
if not stream:
raise ExtractorError('%s is offline' % channel_name, expected=True)
raise UserNotLive(video_id=channel_name)
access_token = self._download_access_token(
channel_name, 'stream', 'channelName')

View File

@@ -22,6 +22,7 @@ from ..jsinterp import JSInterpreter
from ..utils import (
NO_DEFAULT,
ExtractorError,
UserNotLive,
bug_reports_message,
classproperty,
clean_html,
@@ -5383,9 +5384,8 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor):
selected_tab_name = 'featured'
requested_tab_name = mobj['tab'][1:]
if 'no-youtube-channel-redirect' not in compat_opts:
if requested_tab_name == 'live':
# Live tab should have redirected to the video
raise ExtractorError('The channel is not currently live', expected=True)
if requested_tab_name == 'live': # Live tab should have redirected to the video
raise UserNotLive(video_id=mobj['id'])
if requested_tab_name not in ('', selected_tab_name):
redirect_warning = f'The channel does not have a {requested_tab_name} tab'
if not original_tab_name: