Skip to content
Snippets Groups Projects
Select Git revision
  • 0b43e55a0abad18b4c17f5551b974025d29cb88c
  • master default
2 results

Player.java

Blame
  • 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.")