Select Git revision
Player.java
generator.py 1.27 KiB
#!/usr/bin/env python3
import os
import sys
from config import config
from schema import Schema, And, Optional
import jinja2
import yaml
def generate_config_files(data, template_folder, out_folder):
template_loader = jinja2.FileSystemLoader(searchpath=template_folder)
template_env = jinja2.Environment(loader=template_loader)
print(data)
for filename in os.listdir(template_folder):
output = template_env.get_template(filename).render(data)
out_name = out_folder + '/' + filename
out_name = out_name.replace(".j2", "")
f = open(out_name, "w+")
f.write(output)
f.close()
if __name__ == "__main__":
print("Starting generator script.")
if len(sys.argv) < 3 + 1:
print("Usage: data_file template_folder out_folder")
exit(1)
config_filename = sys.argv[1]
template_folder = sys.argv[2]
out_folder = sys.argv[3]
cfg = config(config_filename)
print("YAML data file has loaded: " + config_filename)
print("Data scheme validation:")
cfg.validate()
print("Data scheme is VALID.")
cfg.transformate()
print("Successful data scheme extension.")
generate_config_files(cfg.validated_config, template_folder, out_folder)
print("Config files has been generated.")