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