Skip to content
Snippets Groups Projects
make_detector_configuration 862 B
Newer Older
  • Learn to ignore specific revisions
  • #!/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))