From 9d3fc57cd00c1a34ebe5610dfdacbc5218f5ea98 Mon Sep 17 00:00:00 2001 From: Kevin Mooney Date: Fri, 3 Apr 2015 17:42:31 +0000 Subject: [PATCH] Generalized, moved coupling from skip_loader function to application config --- dbtemplates/conf.py | 1 + dbtemplates/utils/template.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dbtemplates/conf.py b/dbtemplates/conf.py index eb401fb..53b17da 100644 --- a/dbtemplates/conf.py +++ b/dbtemplates/conf.py @@ -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: diff --git a/dbtemplates/utils/template.py b/dbtemplates/utils/template.py index c108ff8..a4deabc 100644 --- a/dbtemplates/utils/template.py +++ b/dbtemplates/utils/template.py @@ -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