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

1from datetime import datetime 

2from pathlib import Path 

3 

4from .environment import StrictNativeEnvironment 

5 

6 

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 

16 

17 

18def ctx_add(ctx, key, value): 

19 ctx["scaffold"][key] = value 

20 return ctx 

21 

22 

23def evaluate(template, env, ctx): 

24 if not isinstance(template, str): 

25 return template 

26 return env.from_string(template).render(**ctx)