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