Author: russellm
Date: 2010-04-25 08:18:24 -0500 (Sun, 25 Apr 2010)
New Revision: 13023
Modified:
django/trunk/django/utils/module_loading.py
Log:
Fixed #13404 -- Reworked module_has_submodule() to allow it to work under
AppEngine. Thanks to Waldemar Kornewald for the report and testing help.
Modified: django/trunk/django/utils/module_loading.py
===================================================================
--- django/trunk/django/utils/module_loading.py 2010-04-24 07:10:15 UTC (rev
13022)
+++ django/trunk/django/utils/module_loading.py 2010-04-25 13:18:24 UTC (rev
13023)
@@ -2,18 +2,17 @@
import imp
def module_has_submodule(mod, submod_name):
- # If the module was loaded from an egg, __loader__ will be set and
+ # If the module was loaded from an egg, __loader__ will be set and
# its find_module must be used to search for submodules.
loader = getattr(mod, '__loader__', None)
if loader:
- mod_path = "%s.%s" % (mod.__name__, submod_name)
- mod_path = mod_path[len(loader.prefix):]
+ mod_path = "%s.%s" % (mod.__name__.rsplit('.',1)[-1], submod_name)
x = loader.find_module(mod_path)
if x is None:
# zipimport.zipimporter.find_module is documented to take
- # dotted paths but in fact through Pyton 2.7 is observed
+ # dotted paths but in fact through Python 2.7 is observed
# to require os.sep in place of dots...so try using os.sep
- # if the dotted path version failed to find the requested
+ # if the dotted path version failed to find the requested
# submodule.
x = loader.find_module(mod_path.replace('.', os.sep))
return x is not None
--
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.