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