Generalized, moved coupling from skip_loader function to application config

This commit is contained in:
Kevin Mooney 2015-04-03 17:42:31 +00:00
parent 918d19b0ad
commit 9d3fc57cd0
2 changed files with 9 additions and 2 deletions

View file

@ -14,6 +14,7 @@ class DbTemplatesConf(AppConf):
AUTO_POPULATE_CONTENT = True
MEDIA_PREFIX = None
CACHE_BACKEND = None
SUBLOADER_NAME = 'loaders'
def configure_media_prefix(self, value):
if value is None:

View file

@ -2,6 +2,9 @@ from django import VERSION
from django.template import (Template, TemplateDoesNotExist,
TemplateSyntaxError)
from django.utils.importlib import import_module
from dbtemplates.conf import settings
SUBLOADER_NAME = settings.DBTEMPLATES_SUBLOADER_NAME
def get_loaders():
@ -21,8 +24,11 @@ def get_loaders():
def skip_loader(loader, pattern):
if loader.__module__.startswith(pattern):
return True
if hasattr(loader, 'loaders'):
for subloader in loader.loaders:
if hasattr(loader, SUBLOADER_NAME):
subloaders = getattr(loader, SUBLOADER_NAME)
if type(subloaders) is not list:
subloaders = [subloaders]
for subloader in subloaders:
return skip_loader(subloader, pattern)
return False
return False