blob: abf42f538eefb8020cda4159acddcb4ad4f2e264 [file] [log] [blame]
#!/usr/bin/env python3
import argparse
import os
from mako.template import Template
import yaml
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()