Merge pull request #30 from sevas/wordwrap-newline
[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 2010 by Armin Ronacher.
10     :license: BSD.
11 """
12 import sys
13 import jinja2
14 from werkzeug import script
15
16 env = jinja2.Environment(extensions=['jinja2.ext.i18n', 'jinja2.ext.do',
17                                      'jinja2.ext.loopcontrols'])
18
19 def 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
33 def action_compile():
34     print env.compile(sys.stdin.read(), raw=True)
35
36 action_shell = script.make_shell(shell_init_func)
37
38
39 if __name__ == '__main__':
40     script.run()