| Helper module to simplify jinja debugging. Use |
| :copyright: 2006 by Armin Ronacher. |
| :license: BSD, see LICENSE for more details. |
| from jinja import Environment |
| from jinja.parser import Parser |
| from jinja.lexer import Lexer |
| from jinja.translators.python import PythonTranslator |
| __all__ = ['e', 't', 'p', 'l'] |
| if os.environ.get('JDEBUG_SOURCEPRINT'): |
| original_translate = PythonTranslator.translate |
| def debug_translate(self): |
| rv = original_translate(self) |
| sys.stderr.write('## GENERATED SOURCE:\n%s\n' % rv) |
| PythonTranslator.translate = debug_translate |
| if x is None and f is not None: |
| x = e.loader.get_source(f) |
| print PythonTranslator(e, Parser(e, x, f).parse()).translate() |
| for item in e.lexer.tokenize(x): |
| print '%5s %-20s %r' % item |
| if __name__ == '__main__': |
| from jinja import FileSystemLoader |
| e.loader = FileSystemLoader(sys.argv[1]) |