summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Reporting/Transport
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-04-24 15:50:47 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-04-24 15:50:47 -0400
commit1108cbcc29017bf54a2a2ca844720ce56ba8e545 (patch)
tree5c65244fde156d342582b79b1205ab927dba0ce0 /src/lib/Bcfg2/Reporting/Transport
parent29399cbc599919fd9c88448bde692132c803e69b (diff)
downloadbcfg2-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')
-rw-r--r--src/lib/Bcfg2/Reporting/Transport/__init__.py17
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')
-