blob: 18aa61000211acc4c9b1fef389c8336bcbb9c12d [file] [log] [blame]
#!/usr/bin/env python3
import os
import yaml
from mako.template import Template
import argparse
def main():
parser = argparse.ArgumentParser(
description="Callout code generator")
parser.add_argument(
'-i', '--callouts_yaml', dest='callouts_yaml',
default=os.path.join(script_dir, 'callouts-example.yaml'),
help='input callouts yaml')
parser.add_argument(
'-o', '--output', dest='output',
default='callouts-gen.hpp',
help='output file name (default: callouts-gen.hpp)')
args = parser.parse_args()
with open(args.callouts_yaml, 'r') as fd:
calloutsMap = yaml.safe_load(fd)
# Render the mako template
template = os.path.join(script_dir, 'callouts-gen.mako.hpp')
t = Template(filename=template)
with open(args.output, 'w') as fd:
fd.write(
t.render(
calloutsMap=calloutsMap))
if __name__ == '__main__':
script_dir = os.path.dirname(os.path.realpath(__file__))
main()