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