From 0d5c9c68e947617c9d073d5f19351bdd8f3866db Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Wed, 25 May 2011 10:30:19 -0400 Subject: [PATCH] Attach ImportError message to UnknownCommand to aid debugging. --- libbe/command/base.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libbe/command/base.py b/libbe/command/base.py index 4ab4a21..311791f 100644 --- a/libbe/command/base.py +++ b/libbe/command/base.py @@ -54,10 +54,15 @@ class UsageError (UserError): class UnknownCommand (UsageError): - def __init__(self, command_name): + def __init__(self, command_name, message=None): + uc_message = "Unknown command '%s'" % command_name + if message is None: + message = uc_message + else: + message = '%s\n(%s)' % (uc_message, message) super(UnknownCommand, self).__init__( command_name=command_name, - message="Unknown command '%s'" % command_name) + message=message) def get_command(command_name): @@ -75,7 +80,7 @@ def get_command(command_name): cmd = libbe.util.plugin.import_by_name( 'libbe.command.%s' % command_name.replace("-", "_")) except ImportError, e: - raise UnknownCommand(command_name) + raise UnknownCommand(command_name, message=unicode(e)) return cmd def get_command_class(module=None, command_name=None): -- 2.26.2