Coverage for src / jinja / __init__.py: 100%
15 statements
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-21 16:36 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-21 16:36 +0000
1from datetime import datetime
2from pathlib import Path
4from .environment import StrictNativeEnvironment
7def create(opts=None, **kwargs):
8 opts = opts or {}
9 ctx = {
10 "scaffold": {},
11 "year": datetime.now().year,
12 "curdir": str(Path.cwd()),
13 }
14 env = StrictNativeEnvironment(**opts, **kwargs)
15 return env, ctx
18def ctx_add(ctx, key, value):
19 ctx["scaffold"][key] = value
20 return ctx
23def evaluate(template, env, ctx):
24 if not isinstance(template, str):
25 return template
26 return env.from_string(template).render(**ctx)