#!/usr/bin/env python3 import argparse import os import yaml from mako.template import Template def main(): parser = argparse.ArgumentParser( description="Settings YAML parser and code generator" ) parser.add_argument( "-i", "--settings_yaml", dest="settings_yaml", default="settings_example.yaml", help="settings yaml file to parse", ) args = parser.parse_args() with open(args.settings_yaml, "r") as fd: yamlDict = yaml.safe_load(fd) # Render the mako template template = os.path.join(script_dir, "settings_manager.mako.hpp") t = Template(filename=template) with open("settings_manager.hpp", "w") as fd: fd.write(t.render(settingsDict=yamlDict)) if __name__ == "__main__": script_dir = os.path.dirname(os.path.realpath(__file__)) main()