Newer
Older
#!/usr/bin/env python
import os
import glob
import yaml
import jinja2
import argparse
# parse arguments
parser = argparse.ArgumentParser()
parser.add_argument('-d', '--dir', type=str, default='templates', help='Template directory.')
parser.add_argument('-t', '--template', type=str, help='Template to render.')
parser.add_argument('-o', '--output', type=str, help='Output file to write.')
parser.add_argument('-c', '--config', type=str, help='Config file to load.')
args = parser.parse_args()
# template
env = jinja2.Environment(
loader = jinja2.FileSystemLoader(args.dir),
)
template = env.get_template(args.template)
# detector constants
config = {}
if args.config is not None:
with open(args.config) as f:
config = yaml.safe_load(f)
# render the template
with open(args.output, 'w') as output:
output.write(template.render(**config))