jinja2stdout()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 2
c 2
b 0
f 0
dl 0
loc 14
rs 9.4285
1
#!/usr/bin/env python
2
import os
3
import jinja2
4
from public import public
5
6
# usage: python -m jinja2stdout.module path
7
8
# 1) python -m module (running module)
9
#   known-issues: setup.py 'py_modules' requires 'package_dir' dict (not works with setup.cfg)
10
# 2) python -m package.module  (running package)
11
12
13
@public
14
def jinja2stdout(path, searchpath=None):
15
    if not searchpath:
16
        searchpath = [os.path.dirname(path)]
17
    extensions = ["jinja2.ext.do", 'jinja2.ext.autoescape', 'jinja2.ext.with_']
18
    env = jinja2.Environment(
19
        loader=jinja2.FileSystemLoader(searchpath),
20
        auto_reload=False,
21
        cache_size=-1,
22
        extensions=extensions
23
    )
24
    env.globals.update(os.environ)  # environment variables
25
    tmpl = env.get_template(path)
26
    return tmpl.render()
27