From 01951dda7a27d3bd2331f22ded5d33876cf1dad9 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Thu, 3 Jan 2013 15:39:55 +0100 Subject: Make ExtractorError usable for other causes --- youtube_dl/utils.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'youtube_dl/utils.py') diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 91e180326..8f856ee8c 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -8,6 +8,7 @@ import locale import os import re import sys +import traceback import zlib import email.utils import json @@ -414,12 +415,15 @@ def encodeFilename(s): class ExtractorError(Exception): """Error during info extraction.""" def __init__(self, msg, tb=None): - """ tb is the original traceback (so that it can be printed out) """ + """ tb, if given, is the original traceback (so that it can be printed out). """ super(ExtractorError, self).__init__(msg) - if tb is None: - tb = sys.exc_info()[2] self.traceback = tb + def format_traceback(self): + if self.traceback is None: + return None + return u''.join(traceback.format_tb(self.traceback)) + class DownloadError(Exception): """Download Error exception. -- cgit v1.2.3