diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-04-24 15:50:47 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-04-24 15:50:47 -0400 |
commit | 1108cbcc29017bf54a2a2ca844720ce56ba8e545 (patch) | |
tree | 5c65244fde156d342582b79b1205ab927dba0ce0 /src/lib/Bcfg2/Reporting/Transport/__init__.py | |
parent | 29399cbc599919fd9c88448bde692132c803e69b (diff) | |
download | bcfg2-1108cbcc29017bf54a2a2ca844720ce56ba8e545.tar.gz bcfg2-1108cbcc29017bf54a2a2ca844720ce56ba8e545.tar.bz2 bcfg2-1108cbcc29017bf54a2a2ca844720ce56ba8e545.zip |
Reporting: better error messages when transport fails to load
Diffstat (limited to 'src/lib/Bcfg2/Reporting/Transport/__init__.py')
-rw-r--r-- | src/lib/Bcfg2/Reporting/Transport/__init__.py | 17 |
1 files changed, 8 insertions, 9 deletions
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') - |