[1.5.x] Fixed #19257 -- Don't swallow command's KeyError in call_command

Thanks Giovanni Bajo for the report.
Backport of 9a09558e9f from master.
This commit is contained in:
Claude Paroz 2012-11-07 18:24:49 +01:00
parent 5b190733e9
commit 34d0c30e87
1 changed files with 6 additions and 5 deletions

View File

@ -136,14 +136,15 @@ def call_command(name, *args, **options):
# Load the command object.
try:
app_name = get_commands()[name]
if isinstance(app_name, BaseCommand):
# If the command is already loaded, use it directly.
klass = app_name
else:
klass = load_command_class(app_name, name)
except KeyError:
raise CommandError("Unknown command: %r" % name)
if isinstance(app_name, BaseCommand):
# If the command is already loaded, use it directly.
klass = app_name
else:
klass = load_command_class(app_name, name)
# Grab out a list of defaults from the options. optparse does this for us
# when the script runs from the command line, but since call_command can
# be called programatically, we need to simulate the loading and handling