| #!/usr/bin/env python3 | 
 |  | 
 | import argparse | 
 | import os | 
 |  | 
 | import yaml | 
 | from mako.template import Template | 
 |  | 
 |  | 
 | def main(): | 
 |     parser = argparse.ArgumentParser( | 
 |         description="OpenPOWER map code generator" | 
 |     ) | 
 |  | 
 |     parser.add_argument( | 
 |         "-i", | 
 |         "--input_dump_type_yaml", | 
 |         dest="input_dump_type_yaml", | 
 |         default="example_dump_types.yaml", | 
 |         help="input dump type yaml file to parse", | 
 |     ) | 
 |  | 
 |     parser.add_argument( | 
 |         "-j", | 
 |         "--input_error_type_yaml", | 
 |         dest="input_error_type_yaml", | 
 |         default="example_errors_watch.yaml", | 
 |         help="input error type yaml file to parse", | 
 |     ) | 
 |  | 
 |     parser.add_argument( | 
 |         "-t", | 
 |         "--template", | 
 |         dest="template", | 
 |         default="template.mako.cpp", | 
 |         help="mako template file to use", | 
 |     ) | 
 |  | 
 |     parser.add_argument( | 
 |         "-o", | 
 |         "--output_file", | 
 |         dest="output_file", | 
 |         default="output.cpp", | 
 |         help="output cpp file", | 
 |     ) | 
 |  | 
 |     args = parser.parse_args() | 
 |  | 
 |     with open(os.path.join(script_dir, args.input_dump_type_yaml), "r") as fd: | 
 |         yaml_dict1 = yaml.safe_load(fd) | 
 |  | 
 |     with open(os.path.join(script_dir, args.input_error_type_yaml), "r") as fd: | 
 |         yaml_dict2 = yaml.safe_load(fd) | 
 |  | 
 |     template = os.path.join(script_dir, args.template) | 
 |     t = Template(filename=template) | 
 |     with open(args.output_file, "w") as fd: | 
 |         fd.write( | 
 |             t.render(DUMP_TYPE_TABLE=yaml_dict1, ERROR_TYPE_DICT=yaml_dict2) | 
 |         ) | 
 |  | 
 |  | 
 | if __name__ == "__main__": | 
 |     script_dir = os.path.dirname(os.path.realpath(__file__)) | 
 |     main() |