Fixed #8239 -- Google App Engine has a restricted "imp" module, which doesn't

include one of the methods we use when constructing management help commands.
So postpone the resolving of the method name until when we actually need it
(which isn't run as part of GAE). Patch from Guido van Rossum.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8425 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2008-08-17 17:35:33 +00:00
parent 98be841549
commit c92b424e57
1 changed files with 3 additions and 3 deletions

View File

@ -1,7 +1,7 @@
import os import os
import sys import sys
from optparse import OptionParser from optparse import OptionParser
from imp import find_module import imp
import django import django
from django.core.management.base import BaseCommand, CommandError, handle_default_options from django.core.management.base import BaseCommand, CommandError, handle_default_options
@ -47,14 +47,14 @@ def find_management_module(app_name):
# module, we need look for the case where the project name is part # module, we need look for the case where the project name is part
# of the app_name but the project directory itself isn't on the path. # of the app_name but the project directory itself isn't on the path.
try: try:
f, path, descr = find_module(part,path) f, path, descr = imp.find_module(part,path)
except ImportError,e: except ImportError,e:
if os.path.basename(os.getcwd()) != part: if os.path.basename(os.getcwd()) != part:
raise e raise e
while parts: while parts:
part = parts.pop() part = parts.pop()
f, path, descr = find_module(part, path and [path] or None) f, path, descr = imp.find_module(part, path and [path] or None)
return path return path
def load_command_class(app_name, name): def load_command_class(app_name, name):