|
|
|
@ -2023,6 +2023,21 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
|
formats.append(a_format)
|
|
|
|
|
else:
|
|
|
|
|
error_message = extract_unavailable_message()
|
|
|
|
|
if not error_message:
|
|
|
|
|
reason_list = try_get(
|
|
|
|
|
player_response,
|
|
|
|
|
lambda x: x['playabilityStatus']['errorScreen']['playerErrorMessageRenderer']['subreason']['runs'],
|
|
|
|
|
list) or []
|
|
|
|
|
for reason in reason_list:
|
|
|
|
|
if not isinstance(reason, dict):
|
|
|
|
|
continue
|
|
|
|
|
reason_text = try_get(reason, lambda x: x['text'], compat_str)
|
|
|
|
|
if reason_text:
|
|
|
|
|
if not error_message:
|
|
|
|
|
error_message = ''
|
|
|
|
|
error_message += reason_text
|
|
|
|
|
if error_message:
|
|
|
|
|
error_message = clean_html(error_message)
|
|
|
|
|
if not error_message:
|
|
|
|
|
error_message = clean_html(try_get(
|
|
|
|
|
player_response, lambda x: x['playabilityStatus']['reason'],
|
|
|
|
|