From a946dc30bb53fa09e0a42cadd1e483b69ef2e349 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 19 Oct 2017 18:20:26 +0200 Subject: start template for generating nicely formatted auditor reports --- contrib/render.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 contrib/render.py (limited to 'contrib/render.py') diff --git a/contrib/render.py b/contrib/render.py new file mode 100755 index 000000000..d31c7f9bd --- /dev/null +++ b/contrib/render.py @@ -0,0 +1,38 @@ +#!/usr/bin/python +# This file is in the public domain. + +""" +Expand Jinja2 templates based on JSON input. + +First command-line argument must be the JSON input. +The tool reads the template from stdin and writes +the expanded output to stdout. + +@author Christian Grothoff +""" + +import sys +import json +import jinja2 +from jinja2 import BaseLoader + + +class StdinLoader(BaseLoader): + def __init__ (self): + self.path = '-' + def get_source(self, environment, template): + source = sys.stdin.read().decode('utf-8') + return source, self.path, lambda: false + + +jsonFile = open (sys.argv[1], 'r') +jsonData = json.load(jsonFile) + +jinjaEnv = jinja2.Environment(loader=StdinLoader(), + lstrip_blocks=True, + trim_blocks=True, + undefined=jinja2.StrictUndefined, + autoescape=False) +tmpl = jinjaEnv.get_template('stdin'); + +print(tmpl.render(data = jsonData)) -- cgit v1.2.3