mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-04-30 12:36:03 +00:00
[ie/litv] improve error handling
Returned error might not even be a dict, so we need traverse_obj() here. On the other hand, no need to try/except around asset_url = ... since the following request will fail anyway without it.
This commit is contained in:
parent
2efc271b9b
commit
25b793b8cd
@ -97,20 +97,16 @@ class LiTVIE(InfoExtractor):
|
|||||||
data=json.dumps({'AssetId': asset_id, 'MediaType': media_type, 'puid': puid}).encode(),
|
data=json.dumps({'AssetId': asset_id, 'MediaType': media_type, 'puid': puid}).encode(),
|
||||||
headers={'Content-Type': 'application/json'})
|
headers={'Content-Type': 'application/json'})
|
||||||
|
|
||||||
if video_data.get('error'):
|
if error := traverse_obj(video_data, ('error', {dict})):
|
||||||
error_msg = traverse_obj(video_data, ('error', 'message'))
|
error_msg = traverse_obj(error, ('message', {str}))
|
||||||
if error_msg == 'OutsideRegionError: ':
|
if error_msg and 'OutsideRegionError' in error_msg:
|
||||||
self.raise_geo_restricted('This video is available in Taiwan only')
|
self.raise_geo_restricted('This video is available in Taiwan only')
|
||||||
if error_msg:
|
elif error_msg:
|
||||||
raise ExtractorError(f'{self.IE_NAME} said: {error_msg}', expected=True)
|
raise ExtractorError(f'{self.IE_NAME} said: {error_msg}', expected=True)
|
||||||
raise ExtractorError(f'Unexpected error from {self.IE_NAME}')
|
raise ExtractorError(f'Unexpected error from {self.IE_NAME}')
|
||||||
|
|
||||||
try:
|
|
||||||
asset_url = video_data['result']['AssetURLs'][0]
|
|
||||||
except KeyError:
|
|
||||||
raise ExtractorError(f'Unexpected result from {self.IE_NAME}')
|
|
||||||
formats = self._extract_m3u8_formats(
|
formats = self._extract_m3u8_formats(
|
||||||
asset_url, video_id, ext='mp4',
|
video_data['result']['AssetURLs'][0], video_id, ext='mp4',
|
||||||
entry_protocol='m3u8_native', m3u8_id='hls')
|
entry_protocol='m3u8_native', m3u8_id='hls')
|
||||||
for a_format in formats:
|
for a_format in formats:
|
||||||
# LiTV HLS segments doesn't like compressions
|
# LiTV HLS segments doesn't like compressions
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user