From 1108cbcc29017bf54a2a2ca844720ce56ba8e545 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 24 Apr 2013 15:50:47 -0400 Subject: Reporting: better error messages when transport fails to load --- src/lib/Bcfg2/Reporting/Transport/__init__.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/lib/Bcfg2/Reporting/Transport') diff --git a/src/lib/Bcfg2/Reporting/Transport/__init__.py b/src/lib/Bcfg2/Reporting/Transport/__init__.py index 5c51dad1e..687b86c5a 100644 --- a/src/lib/Bcfg2/Reporting/Transport/__init__.py +++ b/src/lib/Bcfg2/Reporting/Transport/__init__.py @@ -2,10 +2,9 @@ Public transport routines """ -import traceback +import sys +from Bcfg2.Reporting.Transport.base import TransportImportError -from Bcfg2.Reporting.Transport.base import TransportError, \ - TransportImportError def load_transport(transport_name, setup): """ @@ -18,13 +17,14 @@ def load_transport(transport_name, setup): try: mod = __import__(transport_name) except: - raise TransportImportError("Unavailable") + raise TransportImportError("Error importing transport %s: %s" % + (transport_name, sys.exc_info()[1])) try: - cls = getattr(mod, transport_name) - return cls(setup) + return getattr(mod, transport_name)(setup) except: - raise TransportImportError("Transport unavailable: %s" % - traceback.format_exc().splitlines()[-1]) + raise TransportImportError("Error instantiating transport %s: %s" % + (transport_name, sys.exc_info()[1])) + def load_transport_from_config(setup): """Load the transport in the config... eventually""" @@ -32,4 +32,3 @@ def load_transport_from_config(setup): return load_transport(setup['reporting_transport'], setup) except KeyError: raise TransportImportError('Transport missing in config') - -- cgit v1.2.3-1-g7c22