1*65f8cd37SEddie James#!/usr/bin/env python3
26add0b81SVishwanatha Subbanna
36add0b81SVishwanatha Subbannaimport os
46add0b81SVishwanatha Subbannaimport yaml
56add0b81SVishwanatha Subbannaimport argparse
66add0b81SVishwanatha Subbannafrom mako.template import Template
76add0b81SVishwanatha Subbannaimport contextlib
86add0b81SVishwanatha Subbanna
96add0b81SVishwanatha Subbannaif __name__ == '__main__':
106add0b81SVishwanatha Subbanna    script_dir = os.path.dirname(os.path.realpath(__file__))
116add0b81SVishwanatha Subbanna    parser = argparse.ArgumentParser()
126add0b81SVishwanatha Subbanna    parser.add_argument(
136add0b81SVishwanatha Subbanna        "-f", "--filename",
146add0b81SVishwanatha Subbanna        default='occ_sensor.yaml',
156add0b81SVishwanatha Subbanna        help="Input File Name")
166add0b81SVishwanatha Subbanna    parser.add_argument(
176add0b81SVishwanatha Subbanna        "-i", "--input-dir",
186add0b81SVishwanatha Subbanna        dest='inputdir',
196add0b81SVishwanatha Subbanna        default=script_dir,
206add0b81SVishwanatha Subbanna        help="Input directory")
216add0b81SVishwanatha Subbanna
226add0b81SVishwanatha Subbanna    args = parser.parse_args()
236add0b81SVishwanatha Subbanna
246add0b81SVishwanatha Subbanna    # Default to the one that is in the current.
256add0b81SVishwanatha Subbanna    yaml_dir = script_dir
266add0b81SVishwanatha Subbanna    yaml_file = os.path.join(yaml_dir, 'occ_sensor.yaml')
276add0b81SVishwanatha Subbanna
286add0b81SVishwanatha Subbanna    if args.inputdir:
296add0b81SVishwanatha Subbanna        yaml_dir = args.inputdir
306add0b81SVishwanatha Subbanna
316add0b81SVishwanatha Subbanna    if args.filename:
326add0b81SVishwanatha Subbanna        yaml_file = os.path.join(yaml_dir, args.filename)
336add0b81SVishwanatha Subbanna
346add0b81SVishwanatha Subbanna    with open(yaml_file, 'r') as fd:
356add0b81SVishwanatha Subbanna        ifile = yaml.safe_load(fd)
366add0b81SVishwanatha Subbanna
376add0b81SVishwanatha Subbanna        # Render the mako template
386add0b81SVishwanatha Subbanna        template = os.path.join(script_dir, 'occ_sensor.mako.hpp')
396add0b81SVishwanatha Subbanna        t = Template(filename=template)
406add0b81SVishwanatha Subbanna        with open('occ_sensor.hpp', 'w') as fd:
416add0b81SVishwanatha Subbanna            fd.write(
426add0b81SVishwanatha Subbanna                t.render(
436add0b81SVishwanatha Subbanna                    occDict=ifile))
44