ENH: simplify our formatExceptionInfo

Actually it was not that consistent before and e.g. could add  () if
exception had no parameters and empty tuple.  Simple str'ing seems to
provide the most consistent output and now would bring up our coverage %
pull/352/head
Yaroslav Halchenko 2013-09-12 22:47:58 -04:00
parent 660e0597a7
commit abc75b3022
1 changed files with 3 additions and 15 deletions

View File

@ -17,24 +17,12 @@
# along with Fail2Ban; if not, write to the Free Software # along with Fail2Ban; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
__author__ = "Cyril Jaquier, Arturo 'Buanzo' Busleiman" __author__ = "Cyril Jaquier, Arturo 'Buanzo' Busleiman, Yaroslav Halchenko"
__copyright__ = "Copyright (c) 2009 Cyril Jaquier"
__license__ = "GPL" __license__ = "GPL"
def formatExceptionInfo(): def formatExceptionInfo():
""" Author: Arturo 'Buanzo' Busleiman """ """ Consistently format exception information """
import sys import sys
cla, exc = sys.exc_info()[:2] cla, exc = sys.exc_info()[:2]
excName = cla.__name__ return (cla.__name__, str(exc))
try:
excArgs = exc.__dict__["args"]
# Assure that we always return a string, without unneeded
# 'decorations' with python <= 2.5 where args would be a tuple
if isinstance(excArgs, tuple) and len(excArgs) == 1:
excArgs = excArgs[0]
excArgs = str(excArgs)
except KeyError:
# And always provide a string output
excArgs = str(exc)
return (excName, excArgs)