[utils] Better traceback for `ExtractorError`

pull/2986/head
pukkandan 2 years ago
parent 2807d1709b
commit 497d2fab6c
No known key found for this signature in database
GPG Key ID: 7EEE9E1E817D0A39

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

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

Loading…
Cancel
Save