app/django/template/loaders/eggs.py
changeset 54 03e267d67478
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/django/template/loaders/eggs.py	Fri Jul 18 18:22:23 2008 +0000
@@ -0,0 +1,25 @@
+# Wrapper for loading templates from eggs via pkg_resources.resource_string.
+
+try:
+    from pkg_resources import resource_string
+except ImportError:
+    resource_string = None
+
+from django.template import TemplateDoesNotExist
+from django.conf import settings
+
+def load_template_source(template_name, template_dirs=None):
+    """
+    Loads templates from Python eggs via pkg_resource.resource_string.
+
+    For every installed app, it tries to get the resource (app, template_name).
+    """
+    if resource_string is not None:
+        pkg_name = 'templates/' + template_name
+        for app in settings.INSTALLED_APPS:
+            try:
+                return (resource_string(app, pkg_name).decode(settings.FILE_CHARSET), 'egg:%s:%s' % (app, pkg_name))
+            except:
+                pass
+    raise TemplateDoesNotExist, template_name
+load_template_source.is_usable = resource_string is not None