Browse Source

[chaturbate] Improve error extraction (Closes #7989)

totalwebcasting
Sergey M․ 9 years ago
parent
commit
8a609c32fd
1 changed files with 12 additions and 3 deletions
  1. +12
    -3
      youtube_dl/extractor/chaturbate.py

+ 12
- 3
youtube_dl/extractor/chaturbate.py View File

@ -23,6 +23,8 @@ class ChaturbateIE(InfoExtractor):
'only_matching': True, 'only_matching': True,
}] }]
_ROOM_OFFLINE = 'Room is currently offline'
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
@ -34,9 +36,16 @@ class ChaturbateIE(InfoExtractor):
if not m3u8_url: if not m3u8_url:
error = self._search_regex( error = self._search_regex(
r'<span[^>]+class=(["\'])desc_span\1[^>]*>(?P<error>[^<]+)</span>',
webpage, 'error', group='error')
raise ExtractorError(error, expected=True)
[r'<span[^>]+class=(["\'])desc_span\1[^>]*>(?P<error>[^<]+)</span>',
r'<div[^>]+id=(["\'])defchat\1[^>]*>\s*<p><strong>(?P<error>[^<]+)<'],
webpage, 'error', group='error', default=None)
if not error:
if any(p not in webpage for p in (
self._ROOM_OFFLINE, 'offline_tipping', 'tip_offline')):
error = self._ROOM_OFFLINE
if error:
raise ExtractorError(error, expected=True)
raise ExtractorError('Unable to find stream URL')
formats = self._extract_m3u8_formats(m3u8_url, video_id, ext='mp4') formats = self._extract_m3u8_formats(m3u8_url, video_id, ext='mp4')


Loading…
Cancel
Save