[utils] Better traceback for `ExtractorError`

This commit is contained in:
pukkandan 2022-03-08 12:04:49 +05:30
parent 2807d1709b
commit 497d2fab6c
No known key found for this signature in database
GPG Key ID: 7EEE9E1E817D0A39
2 changed files with 5 additions and 4 deletions

View File

@ -749,7 +749,7 @@ class InfoExtractor(object):
errmsg = '%s: %s' % (errnote, error_to_compat_str(err))
if fatal:
raise ExtractorError(errmsg, sys.exc_info()[2], cause=err)
raise ExtractorError(errmsg, cause=err)
else:
self.report_warning(errmsg)
return False

View File

@ -1076,9 +1076,10 @@ class ExtractorError(YoutubeDLError):
'' if expected else bug_reports_message())))
def format_traceback(self):
if self.traceback is None:
return None
return ''.join(traceback.format_tb(self.traceback))
return join_nonempty(
self.traceback and ''.join(traceback.format_tb(self.traceback)),
self.cause and ''.join(traceback.format_exception(self.cause)[1:]),
delim='\n') or None
class UnsupportedError(ExtractorError):