#23525: admin/docs/filters|tags __file__ attribute errors for egg extensions
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  nobody
  welbornprod            |     Status:  new
         Type:  Bug      |    Version:  1.7
    Component:           |   Keywords:  __file__ AttributeError filters
  contrib.admindocs      |  tags
     Severity:  Normal   |  Has patch:  1
 Triage Stage:           |      UI/UX:  0
  Unreviewed             |
Easy pickings:  1        |
-------------------------+-------------------------------------------------
 Accessing `hostname.com/admin/doc/filters` and
 `hostname.com/admin/doc/tags` causes an Internal Server Error on Django
 1.7.

 In `django/contrib/admindocs/views.py`, the function
 `load_all_installed_template_libraries()` already gracefully fails on
 `OSError` when finding python files. However, when the module being
 checked has no `__file__` attribute the error bubbles up and causes an
 Internal Server Error.

 Someone on django-users suggested that it may be because some extensions
 are installed as eggs. I've attached a naive patch that simply adds
 `AttributeError` to the caught exceptions, causing the function to fail
 gracefully instead of letting it bubble up.

 The code that triggers the error:
 {{{#!python
 try:
     libraries = [
         os.path.splitext(p)[0]
         for p in os.listdir(os.path.dirname(upath(mod.__file__)))
         if p.endswith('.py') and p[0].isalpha()
     ]
 except OSError:
     libraries = []
 }}}

 I've simply added another error to that block:

 {{{#!python
 try:
    # ...same code from above.
 except OSError, AttributeError:
     libraries = []
 }}}

--
Ticket URL: <https://code.djangoproject.com/ticket/23525>
Django <https://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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/054.181533c19d76ec6590f6c12db69a1fd3%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to