diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-21 08:31:47 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-21 08:31:47 -0500 |
commit | 002c59c122f5a72868c9a3835f692968eb689b0a (patch) | |
tree | 6e071722d8bf388dd18d419fc5d7dadb564cb7de /coverage/templite.py | |
parent | 4108517952e9b96658d30dcb87ca098abbe14a14 (diff) | |
download | python-coveragepy-git-002c59c122f5a72868c9a3835f692968eb689b0a.tar.gz |
Add nicer exception reporting inside Templite so when a template goes wrong we have some hope of figuring out why.
Diffstat (limited to 'coverage/templite.py')
-rw-r--r-- | coverage/templite.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/coverage/templite.py b/coverage/templite.py index f61fbdca..22c93a9e 100644 --- a/coverage/templite.py +++ b/coverage/templite.py @@ -2,7 +2,7 @@ # Coincidentally named the same as http://code.activestate.com/recipes/496702/ -import re +import re, sys class Templite(object): """A simple template renderer, for a nano-subset of Django syntax. @@ -120,7 +120,13 @@ class _TempliteEngine(object): if op == 'lit': self.result += args elif op == 'exp': - self.result += str(self.evaluate(args)) + try: + self.result += str(self.evaluate(args)) + except: + exc_class, exc, tb = sys.exc_info() + new_exc = exc_class("Couldn't evaluate {{ %s }}: %s" + % (args, exc)) + raise exc_class, new_exc, tb elif op == 'if': expr, body = args if self.evaluate(expr): |