Author: russellm
Date: 2007-09-21 12:52:36 -0500 (Fri, 21 Sep 2007)
New Revision: 6402

Modified:
   django/trunk/django/core/management/__init__.py
Log:
Fixed #5564 -- Fixed handling of the ProjectCommand used by startapp.


Modified: django/trunk/django/core/management/__init__.py
===================================================================
--- django/trunk/django/core/management/__init__.py     2007-09-21 16:52:32 UTC 
(rev 6401)
+++ django/trunk/django/core/management/__init__.py     2007-09-21 17:52:36 UTC 
(rev 6402)
@@ -65,6 +65,10 @@
     pairs from this dictionary can then be used in calls to 
     load_command_class(app_name, command_name)
     
+    If a specific version of a command must be loaded (e.g., with the
+    startapp command), the instantiated module can be placed in the
+    dictionary in place of the application name.
+    
     The dictionary is cached on the first call, and reused on subsequent
     calls.
     """
@@ -109,7 +113,11 @@
     """
     try:
         app_name = get_commands()[name]
-        klass = load_command_class(app_name, 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, subcommand)
     except KeyError:
         raise CommandError, "Unknown command: %r" % name
     return klass.execute(*args, **options)
@@ -159,7 +167,11 @@
         """
         try:
             app_name = get_commands(self.user_commands, 
self.project_directory)[subcommand]
-            klass = load_command_class(app_name, subcommand)
+            if isinstance(app_name, BaseCommand): 
+                # If the app_name is already loaded, use it directly.
+                klass = app_name
+            else:
+                klass = load_command_class(app_name, subcommand)
         except KeyError:
             sys.stderr.write("Unknown command: %r\nType '%s help' for 
usage.\n" % (subcommand, self.prog_name))
             sys.exit(1)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to