1*3d7b4fe1SSantosh Puranik#!/usr/bin/env python3 2bdfd1235SDeepak Kodihalli 3bdfd1235SDeepak Kodihalliimport os 4bdfd1235SDeepak Kodihalliimport yaml 5bdfd1235SDeepak Kodihallifrom mako.template import Template 6bdfd1235SDeepak Kodihalliimport argparse 7bdfd1235SDeepak Kodihalli 8bdfd1235SDeepak Kodihalli 9bdfd1235SDeepak Kodihallidef main(): 10bdfd1235SDeepak Kodihalli parser = argparse.ArgumentParser( 11bdfd1235SDeepak Kodihalli description="OpenPOWER FRU VPD parser and code generator") 12bdfd1235SDeepak Kodihalli 13bdfd1235SDeepak Kodihalli parser.add_argument( 14bdfd1235SDeepak Kodihalli '-e', '--extra_props_yaml', 15bdfd1235SDeepak Kodihalli dest='extra_props_yaml', 16bdfd1235SDeepak Kodihalli default='extra-properties-example.yaml', 17bdfd1235SDeepak Kodihalli help='input extra properties yaml file to parse') 18bdfd1235SDeepak Kodihalli args = parser.parse_args() 19bdfd1235SDeepak Kodihalli 20bdfd1235SDeepak Kodihalli with open(os.path.join(script_dir, args.extra_props_yaml), 'r') as fd: 21bdfd1235SDeepak Kodihalli yamlDict = yaml.safe_load(fd) 22bdfd1235SDeepak Kodihalli 23bdfd1235SDeepak Kodihalli # Render the mako template 24bdfd1235SDeepak Kodihalli template = os.path.join(script_dir, 'extra-properties.mako.hpp') 25bdfd1235SDeepak Kodihalli t = Template(filename=template) 26bdfd1235SDeepak Kodihalli with open('extra-properties-gen.hpp', 'w') as fd: 27bdfd1235SDeepak Kodihalli fd.write( 28bdfd1235SDeepak Kodihalli t.render( 29bdfd1235SDeepak Kodihalli dict=yamlDict)) 30bdfd1235SDeepak Kodihalli 31bdfd1235SDeepak Kodihalli 32bdfd1235SDeepak Kodihalliif __name__ == '__main__': 33bdfd1235SDeepak Kodihalli script_dir = os.path.dirname(os.path.realpath(__file__)) 34bdfd1235SDeepak Kodihalli main() 35