diff -r 57b4279d8c4e -r 03e267d67478 app/django/template/loaders/filesystem.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/django/template/loaders/filesystem.py Fri Jul 18 18:22:23 2008 +0000 @@ -0,0 +1,31 @@ +""" +Wrapper for loading templates from the filesystem. +""" + +from django.conf import settings +from django.template import TemplateDoesNotExist +from django.utils._os import safe_join + +def get_template_sources(template_name, template_dirs=None): + if not template_dirs: + template_dirs = settings.TEMPLATE_DIRS + for template_dir in template_dirs: + try: + yield safe_join(template_dir, template_name) + except ValueError: + # The joined path was located outside of template_dir. + pass + +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().decode(settings.FILE_CHARSET), filepath) + except IOError: + tried.append(filepath) + if tried: + error_msg = "Tried %s" % tried + else: + error_msg = "Your TEMPLATE_DIRS setting is empty. Change it to point to at least one template directory." + raise TemplateDoesNotExist, error_msg +load_template_source.is_usable = True