#14698: django.utils.module_loading.module_has_submodule yields false positives
---------------------------+------------------------------------------------
 Reporter:  lrekucki       |       Owner:  nobody    
   Status:  new            |   Milestone:            
Component:  Uncategorized  |     Version:  1.2       
 Keywords:                 |       Stage:  Unreviewed
Has_patch:  0              |  
---------------------------+------------------------------------------------
 The way I found this is a bit crazy, so I'm not going to describe it all,
 but the 2 important things are:

   # I have some explicit relative imports.
   # I wanted to make a template library named the same as the application
 it contains.

 This generally should work (tried on a fresh project), but failed with a
 weird error in my project: "'currencies' is not a valid tag library:
 ImportError raised loading company.templatetags.currencies: No module
 named currencies". Of course there is no such module, because it's on
 "currencies.templatags" application.

 So after some debuging it turned out that module_has_submodule returns a
 false positive. This is because it checks {{{ if name in sys.modules }}}.
 To be honest, I didn't know about this, but it seems that Python sometimes
 also stores import misses by puting a None in to that dictionary. See
 [http://mail.python.org/pipermail/python-dev/2009-July/090780.html this
 python-dev thread].

-- 
Ticket URL: <http://code.djangoproject.com/ticket/14698>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to