#!/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() |