summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-11-24 21:14:42 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-11-24 21:14:42 +0000
commit22746d32a50792247330ea026e0d0ac2a0c2f933 (patch)
treecbf30aef3aa06aa962764b8f9378767f7cff5112
parentc616d869ed72d429503003afbae9cc71343502c2 (diff)
Added a get_template_sources generator function to filesystem and app_directories template loaders, so template-loader debugger can hook into it. Refs #892.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1399 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/template/loader.py2
-rw-r--r--django/core/template/loaders/app_directories.py7
-rw-r--r--django/core/template/loaders/filesystem.py9
3 files changed, 12 insertions, 6 deletions
diff --git a/django/core/template/loader.py b/django/core/template/loader.py
index 10989424db..6d747d560d 100644
--- a/django/core/template/loader.py
+++ b/django/core/template/loader.py
@@ -59,7 +59,7 @@ def make_origin(display_name, loader, name, dirs):
def find_template_source(name, dirs=None):
for loader in template_source_loaders:
try:
- source, display_name = loader(name, dirs)
+ source, display_name = loader(name, dirs)
return (source, make_origin(display_name, loader, name, dirs))
except TemplateDoesNotExist:
pass
diff --git a/django/core/template/loaders/app_directories.py b/django/core/template/loaders/app_directories.py
index d7c02c68ea..390e47852e 100644
--- a/django/core/template/loaders/app_directories.py
+++ b/django/core/template/loaders/app_directories.py
@@ -27,9 +27,12 @@ for app in INSTALLED_APPS:
# It won't change, so convert it to a tuple to save memory.
app_template_dirs = tuple(app_template_dirs)
-def load_template_source(template_name, template_dirs=None):
+def get_template_sources(template_name, template_dirs=None):
for template_dir in app_template_dirs:
- filepath = os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+ yield os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+
+def load_template_source(template_name, template_dirs=None):
+ for filepath in get_template_sources(template_name, template_dirs):
try:
return (open(filepath).read(), filepath)
except IOError:
diff --git a/django/core/template/loaders/filesystem.py b/django/core/template/loaders/filesystem.py
index 9a93481705..23ce6cd9e4 100644
--- a/django/core/template/loaders/filesystem.py
+++ b/django/core/template/loaders/filesystem.py
@@ -4,12 +4,15 @@ from django.conf.settings import TEMPLATE_DIRS, TEMPLATE_FILE_EXTENSION
from django.core.template import TemplateDoesNotExist
import os
-def load_template_source(template_name, template_dirs=None):
+def get_template_sources(template_name, template_dirs=None):
if not template_dirs:
template_dirs = TEMPLATE_DIRS
- tried = []
for template_dir in template_dirs:
- filepath = os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+ yield os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+
+def load_template_source(template_name, template_dirs=None):
+ tried = []
+ for filepath in get_template_sources(template_name, template_dirs):
try:
return (open(filepath).read(), filepath)
except IOError: