diff options
| author | Claude Paroz <claude@2xlibre.net> | 2012-11-07 18:24:49 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2012-11-07 18:30:10 +0100 |
| commit | 34d0c30e877739c8a7354ecd878f2ffe9e7c613f (patch) | |
| tree | 4a1c007b5996d9fa43b70f930e7dc98a917ec029 | |
| parent | 5b190733e902217536faf080ba58a9d5f958967e (diff) | |
[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.
| -rw-r--r-- | django/core/management/__init__.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index c61ab2b663..bb26c20666 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -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 |
