blob: 1eb0d066ab4728606a14c2414cd79c45e70ecd0f [file] [log] [blame]
#!/usr/bin/env python
import os
import yaml
from argparse import ArgumentParser
from mako.template import Template
from mako.lookup import TemplateLookup
if __name__ == '__main__':
parser = ArgumentParser(
description="Power sequencer UCD90160 definition parser")
parser.add_argument('-i', '--input_yaml', dest='input_yaml',
default="example/ucd90160.yaml",
help='UCD90160 definitions YAML')
parser.add_argument('-o', '--output_dir', dest='output_dir',
default=".",
help='output directory')
args = parser.parse_args()
if not args.input_yaml or not args.output_dir:
parser.print_usage()
sys.exit(1)
with open(args.input_yaml, 'r') as ucd90160_input:
ucd90160_data = yaml.safe_load(ucd90160_input) or {}
templates_dir = os.path.join(
os.path.dirname(os.path.realpath(__file__)),
"templates")
output_file = os.path.join(args.output_dir, "ucd90160_defs.cpp")
mylookup = TemplateLookup(
directories=templates_dir.split())
mytemplate = mylookup.get_template('ucd90160_defs.mako.cpp')
with open(output_file, 'w') as output:
output.write(mytemplate.render(ucd90160s=ucd90160_data))