165f8cd37SEddie James#!/usr/bin/env python3
26add0b81SVishwanatha Subbanna
36add0b81SVishwanatha Subbannaimport argparse
4fdf827e0SPatrick Williamsimport os
56add0b81SVishwanatha Subbanna
6fdf827e0SPatrick Williamsimport yaml
7*d8aab2a9SPatrick Williamsfrom mako.template import Template
8fdf827e0SPatrick Williams
9fdf827e0SPatrick Williamsif __name__ == "__main__":
106add0b81SVishwanatha Subbanna    script_dir = os.path.dirname(os.path.realpath(__file__))
116add0b81SVishwanatha Subbanna    parser = argparse.ArgumentParser()
126add0b81SVishwanatha Subbanna    parser.add_argument(
13fdf827e0SPatrick Williams        "-f", "--filename", default="occ_sensor.yaml", help="Input File Name"
14fdf827e0SPatrick Williams    )
156add0b81SVishwanatha Subbanna    parser.add_argument(
16fdf827e0SPatrick Williams        "-i",
17fdf827e0SPatrick Williams        "--input-dir",
18fdf827e0SPatrick Williams        dest="inputdir",
196add0b81SVishwanatha Subbanna        default=script_dir,
20fdf827e0SPatrick Williams        help="Input directory",
21fdf827e0SPatrick Williams    )
226add0b81SVishwanatha Subbanna
236add0b81SVishwanatha Subbanna    args = parser.parse_args()
246add0b81SVishwanatha Subbanna
256add0b81SVishwanatha Subbanna    # Default to the one that is in the current.
266add0b81SVishwanatha Subbanna    yaml_dir = script_dir
27fdf827e0SPatrick Williams    yaml_file = os.path.join(yaml_dir, "occ_sensor.yaml")
286add0b81SVishwanatha Subbanna
296add0b81SVishwanatha Subbanna    if args.inputdir:
306add0b81SVishwanatha Subbanna        yaml_dir = args.inputdir
316add0b81SVishwanatha Subbanna
326add0b81SVishwanatha Subbanna    if args.filename:
336add0b81SVishwanatha Subbanna        yaml_file = os.path.join(yaml_dir, args.filename)
346add0b81SVishwanatha Subbanna
35fdf827e0SPatrick Williams    with open(yaml_file, "r") as fd:
366add0b81SVishwanatha Subbanna        ifile = yaml.safe_load(fd)
376add0b81SVishwanatha Subbanna
386add0b81SVishwanatha Subbanna        # Render the mako template
39fdf827e0SPatrick Williams        template = os.path.join(script_dir, "occ_sensor.mako.hpp")
406add0b81SVishwanatha Subbanna        t = Template(filename=template)
41fdf827e0SPatrick Williams        with open("occ_sensor.hpp", "w") as fd:
42fdf827e0SPatrick Williams            fd.write(t.render(occDict=ifile))
43