| #!/usr/bin/env python |
| # -*- coding: utf-8 -*- |
| """ |
| Jinja2 Debug Interface |
| ~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Helper script for internal Jinja2 debugging. Requires Werkzeug. |
| |
| :copyright: Copyright 2010 by Armin Ronacher. |
| :license: BSD. |
| """ |
| import sys |
| import jinja2 |
| from werkzeug import script |
| |
| env = jinja2.Environment(extensions=['jinja2.ext.i18n', 'jinja2.ext.do', |
| 'jinja2.ext.loopcontrols']) |
| |
| def shell_init_func(): |
| def _compile(x): |
| print env.compile(x, raw=True) |
| result = { |
| 'e': env, |
| 'c': _compile, |
| 't': env.from_string, |
| 'p': env.parse |
| } |
| for key in jinja2.__all__: |
| result[key] = getattr(jinja2, key) |
| return result |
| |
| |
| def action_compile(): |
| print env.compile(sys.stdin.read(), raw=True) |
| |
| action_shell = script.make_shell(shell_init_func) |
| |
| |
| if __name__ == '__main__': |
| script.run() |