﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
23525	admin/docs/filters|tags __file__ attribute errors for egg extensions	Welborn Productions	nobody	"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 = []
}}}


I thought about refactoring this and maybe expanding the for-loop so `AttributeError` is only caught where needed, but chose instead to make the least invasive change possible."	Bug	new	contrib.admindocs	1.7	Normal		__file__ AttributeError filters tags		Unreviewed	1	0	0	0	1	0
