import json, sys
from jinja2 import Environment, BaseLoader
with open('dep-template.md.j2') as f:
template_text = f.read()
def from_json(val):
return json.loads(val) if isinstance(val, str) else val
env = Environment(loader=BaseLoader(), autoescape=False)
env.filters['from_json'] = from_json
Test: empty manifest
result = env.from_string(template_text).render(manifest='{}')
sys.stdout.write("=== EMPTY MANIFEST ===\n")
sys.stdout.write(result)
sys.stdout.write("\n\n")
Test: empty arrays
result = env.from_string(template_text).render(manifest=json.dumps({"imports":[], "fileRefs":[], "binDeps":[], "skillDeps":[]}))
sys.stdout.write("=== EMPTY ARRAYS ===\n")
sys.stdout.write(result)