summaryrefslogtreecommitdiff
path: root/repoze/bfg/chameleon_text.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-12-04 16:21:01 +0000
committerChris McDonough <chrism@agendaless.com>2009-12-04 16:21:01 +0000
commitb541caecff9ecd14545ca16f9fe278c29fbaf4a3 (patch)
treeba28ecbfbb38e104889fc91093b911806b1c1c71 /repoze/bfg/chameleon_text.py
parentab4e7b9befb1b84deedfcb29766e8250113ba566 (diff)
downloadpyramid-b541caecff9ecd14545ca16f9fe278c29fbaf4a3.tar.gz
pyramid-b541caecff9ecd14545ca16f9fe278c29fbaf4a3.tar.bz2
pyramid-b541caecff9ecd14545ca16f9fe278c29fbaf4a3.zip
- Operation on GAE was broken, presumably because the
``repoze.bfg.configuration`` module began to attempt to import the ``repoze.bfg.chameleon_zpt`` and ``repoze.bfg.chameleon_text`` modules, and these cannot be used on non-CPython platforms. It now tolerates startup time import failures for these modules, and only raise an import error when a template from one of these packages is actually used.
Diffstat (limited to 'repoze/bfg/chameleon_text.py')
-rw-r--r--repoze/bfg/chameleon_text.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/repoze/bfg/chameleon_text.py b/repoze/bfg/chameleon_text.py
index b69e8fed0..50491a3d0 100644
--- a/repoze/bfg/chameleon_text.py
+++ b/repoze/bfg/chameleon_text.py
@@ -2,8 +2,20 @@ from webob import Response
from zope.interface import implements
-from chameleon.core.template import TemplateFile
-from chameleon.zpt.language import Parser
+try:
+ from chameleon.core.template import TemplateFile
+except ImportError, why: # pragma: no cover
+ # Chameleon doesn't work on non-CPython platforms
+ class TemplateFile(object):
+ def __init__(self, *arg, **kw):
+ raise ImportError(why[0])
+
+try:
+ from chameleon.zpt.language import Parser
+except ImportError: # pragma: no cover
+ # Chameleon doesn't work on non-CPython platforms
+ class Parser(object):
+ pass
from repoze.bfg.interfaces import IResponseFactory
from repoze.bfg.interfaces import ITemplateRenderer