blob: 7ec367bdfe66000ba6741fb0dceef2b8e95ccf25 [file] [log] [blame]
Matt Spinler991bb762020-03-09 13:50:55 -05001#!/usr/bin/env python3
Deepak Kodihalli5650b392017-03-02 04:40:27 -06002
3import os
4import yaml
5from mako.template import Template
6import argparse
7
8
9def main():
10 parser = argparse.ArgumentParser(
11 description="Callout code generator")
12
13 parser.add_argument(
14 '-i', '--callouts_yaml', dest='callouts_yaml',
Patrick Williams18941992021-04-15 15:18:46 -050015 default=os.path.join(script_dir, 'callouts-example.yaml'),
16 help='input callouts yaml')
Deepak Kodihalli5650b392017-03-02 04:40:27 -060017 args = parser.parse_args()
18
Patrick Williams18941992021-04-15 15:18:46 -050019 with open(args.callouts_yaml, 'r') as fd:
Deepak Kodihalli5650b392017-03-02 04:40:27 -060020 calloutsMap = yaml.safe_load(fd)
21
22 # Render the mako template
23 template = os.path.join(script_dir, 'callouts-gen.mako.hpp')
24 t = Template(filename=template)
25 with open('callouts-gen.hpp', 'w') as fd:
26 fd.write(
27 t.render(
28 calloutsMap=calloutsMap))
29
30
31if __name__ == '__main__':
32 script_dir = os.path.dirname(os.path.realpath(__file__))
33 main()