Automated merge with ssh://team@pocoo.org/jinja2-main
[jinja2.git] / jinja2-debug.py
1 #!/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 """
12 import sys
13 import jinja2
14 from werkzeug import script
15
16 env = jinja2.Environment()
17
18 def shell_init_func():
19     def _compile(x):
20         print env.compile(x, raw=True)
21     result = {
22         'e':        env,
23         'c':        _compile,
24         't':        env.from_string,
25         'p':        env.parse
26     }
27     for key in jinja2.__all__:
28         result[key] = getattr(jinja2, key)
29     return result
30
31
32 def action_compile():
33     print env.compile(sys.stdin.read(), raw=True)
34
35 action_shell = script.make_shell(shell_init_func)
36
37
38 if __name__ == '__main__':
39     script.run()