[khinsider] fixed fatal handling

This commit is contained in:
Isaac-the-Man 2021-01-11 20:28:11 -05:00
parent 560f7b8af9
commit 86297d1acf

View File

@ -8,6 +8,7 @@ from .common import InfoExtractor
from ..utils import ( from ..utils import (
get_element_by_id, get_element_by_id,
unified_strdate, unified_strdate,
ExtractorError,
parse_duration) parse_duration)
@ -35,9 +36,7 @@ class KhinsiderIE(InfoExtractor):
'album', group='album') + '_' + self._search_regex(self._VALID_URL, url, 'track', group='track') 'album', group='album') + '_' + self._search_regex(self._VALID_URL, url, 'track', group='track')
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
title = self._html_search_regex( title = self._html_search_regex(r'Song name: <b>(.+?)</b>', webpage, 'title', default=video_id)
r'Song name: <b>(.+?)</b>',
webpage, 'title') or self._search_regex(self._VALID_URL, url, 'track', group='track')
return { return {
'id': video_id, 'id': video_id,
@ -45,7 +44,7 @@ class KhinsiderIE(InfoExtractor):
'description': self._html_search_meta('description', webpage), 'description': self._html_search_meta('description', webpage),
'url': url, 'url': url,
'ext': 'mp3', 'ext': 'mp3',
'album': self._html_search_regex(r'Album name: <b>(.+?)</b>', webpage, 'album name'), 'album': self._html_search_regex(r'Album name: <b>(.+?)</b>', webpage, 'album name', fatal=False),
'track': title 'track': title
} }
@ -74,6 +73,9 @@ class KhinsiderAlbumIE(InfoExtractor):
r = re.compile(r'<td class=\"clickable-row\"><a href=\"(?P<track_url>.+?)\">(?P<track_title>.+?)</a></td>[^\S]+<td class=\"clickable-row\"[^>]+?><a href=\"(.+?)\"[^>]+?>(?P<duration>[0-9,:]+)</a></td>') r = re.compile(r'<td class=\"clickable-row\"><a href=\"(?P<track_url>.+?)\">(?P<track_title>.+?)</a></td>[^\S]+<td class=\"clickable-row\"[^>]+?><a href=\"(.+?)\"[^>]+?>(?P<duration>[0-9,:]+)</a></td>')
songs_info = [m.groupdict() for m in r.finditer(content)] songs_info = [m.groupdict() for m in r.finditer(content)]
if len(songs_info) <= 0:
raise ExtractorError('No tracks found for this album.')
entries = [] entries = []
for song_info in songs_info: for song_info in songs_info:
entries.append({ entries.append({
@ -92,7 +94,7 @@ class KhinsiderAlbumIE(InfoExtractor):
video_id = self._match_id(url) video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
title = self._html_search_regex(r'<title>(.+?)[^\S]+?</title>', webpage, 'title') title = self._html_search_regex(r'<title>(.+?)[^\S]+?</title>', webpage, 'title', default=video_id)
upload_date = self._html_search_regex(r'Date added: <b>(.+?)</b>', webpage, 'upload date', fatal=False) upload_date = self._html_search_regex(r'Date added: <b>(.+?)</b>', webpage, 'upload date', fatal=False)
tb = self._html_search_regex( tb = self._html_search_regex(
r'<a href=\"(https://vgmsite.com/(.+?).jpg)\" target=\"_blank\">', r'<a href=\"(https://vgmsite.com/(.+?).jpg)\" target=\"_blank\">',