Fixed #12099 -- Prevented admindocs from crashing when an application that provides template tags libraries is packaged as an egg. These libraries will be ignored.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17401 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Aymeric Augustin 2012-01-28 18:18:01 +00:00
parent d6d4d60109
commit f9ea619613
1 changed files with 8 additions and 5 deletions

View File

@ -307,11 +307,14 @@ def load_all_installed_template_libraries():
# Load/register all template tag libraries from installed apps. # Load/register all template tag libraries from installed apps.
for module_name in template.get_templatetags_modules(): for module_name in template.get_templatetags_modules():
mod = import_module(module_name) mod = import_module(module_name)
try:
libraries = [ libraries = [
os.path.splitext(p)[0] os.path.splitext(p)[0]
for p in os.listdir(os.path.dirname(mod.__file__)) for p in os.listdir(os.path.dirname(mod.__file__))
if p.endswith('.py') and p[0].isalpha() if p.endswith('.py') and p[0].isalpha()
] ]
except OSError:
libraries = []
for library_name in libraries: for library_name in libraries:
try: try:
lib = template.get_library(library_name) lib = template.get_library(library_name)