[youtube] Catch more alert messages (closes #5074)
This commit is contained in:
parent
2edce52584
commit
39b62db116
|
@ -1291,12 +1291,22 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor):
|
||||||
page = self._download_webpage(url, playlist_id)
|
page = self._download_webpage(url, playlist_id)
|
||||||
more_widget_html = content_html = page
|
more_widget_html = content_html = page
|
||||||
|
|
||||||
|
for match in re.findall(r'<div class="yt-alert-message">([^<]+)</div>', page):
|
||||||
|
match = match.strip()
|
||||||
# Check if the playlist exists or is private
|
# Check if the playlist exists or is private
|
||||||
if re.search(r'<div class="yt-alert-message">[^<]*?(The|This) playlist (does not exist|is private)[^<]*?</div>', page) is not None:
|
if re.match(r'[^<]*(The|This) playlist (does not exist|is private)[^<]*', match):
|
||||||
raise ExtractorError(
|
raise ExtractorError(
|
||||||
'The playlist doesn\'t exist or is private, use --username or '
|
'The playlist doesn\'t exist or is private, use --username or '
|
||||||
'--netrc to access it.',
|
'--netrc to access it.',
|
||||||
expected=True)
|
expected=True)
|
||||||
|
elif re.match(r'[^<]*Invalid parameters[^<]*', match):
|
||||||
|
raise ExtractorError(
|
||||||
|
'Invalid parameters. Maybe URL is incorrect.',
|
||||||
|
expected=True)
|
||||||
|
elif re.match(r'[^<]*Choose your language[^<]*', match):
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
self.report_warning('Youtube gives an alert message: ' + match)
|
||||||
|
|
||||||
# Extract the video ids from the playlist pages
|
# Extract the video ids from the playlist pages
|
||||||
ids = []
|
ids = []
|
||||||
|
|
Loading…
Reference in New Issue