blob: 2a870e8cbe804c2c20b5c62dc7f8b13527ca8f38 [file] [log] [blame]
Armin Ronacher27069d72008-05-11 19:48:12 +02001#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3"""
4 Jinja2 Debug Interface
5 ~~~~~~~~~~~~~~~~~~~~~~
6
7 Helper script for internal Jinja2 debugging. Requires Werkzeug.
8
9 :copyright: Copyright 2008 by Armin Ronacher.
10 :license: BSD.
11"""
12import sys
13import jinja2
14from werkzeug import script
15
Armin Ronacher5c047ea2008-05-23 22:26:45 +020016env = jinja2.Environment(extensions=['jinja2.ext.i18n', 'jinja2.ext.do',
17 'jinja2.ext.loopcontrols'])
Armin Ronacher27069d72008-05-11 19:48:12 +020018
19def shell_init_func():
20 def _compile(x):
21 print env.compile(x, raw=True)
22 result = {
23 'e': env,
24 'c': _compile,
25 't': env.from_string,
26 'p': env.parse
27 }
28 for key in jinja2.__all__:
29 result[key] = getattr(jinja2, key)
30 return result
31
32
33def action_compile():
34 print env.compile(sys.stdin.read(), raw=True)
35
36action_shell = script.make_shell(shell_init_func)
37
38
39if __name__ == '__main__':
40 script.run()