summaryrefslogtreecommitdiff
path: root/django/template
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-08-14 12:09:45 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-08-14 12:29:53 +0200
commit2ae58b20ec72ce501c91dff8a8fcc8fe40cf5019 (patch)
tree5fb7febdb172a79daffdb9dc6641b06de9c0b6aa /django/template
parentdcf72835e358529571dba53af1451fb39ce36c6b (diff)
[py3] Fixed egg template loader.
Diffstat (limited to 'django/template')
-rw-r--r--django/template/loaders/eggs.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/django/template/loaders/eggs.py b/django/template/loaders/eggs.py
index 42f87a459e..7e35b34ec4 100644
--- a/django/template/loaders/eggs.py
+++ b/django/template/loaders/eggs.py
@@ -1,13 +1,15 @@
# Wrapper for loading templates from eggs via pkg_resources.resource_string.
+from __future__ import unicode_literals
try:
from pkg_resources import resource_string
except ImportError:
resource_string = None
+from django.conf import settings
from django.template.base import TemplateDoesNotExist
from django.template.loader import BaseLoader
-from django.conf import settings
+from django.utils import six
class Loader(BaseLoader):
is_usable = resource_string is not None
@@ -22,9 +24,12 @@ class Loader(BaseLoader):
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
+ resource = resource_string(app, pkg_name)
+ except Exception:
+ continue
+ if not six.PY3:
+ resource = resource.decode(settings.FILE_CHARSET)
+ return (resource, 'egg:%s:%s' % (app, pkg_name))
raise TemplateDoesNotExist(template_name)
_loader = Loader()