51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
import json
|
|
import yaml
|
|
from jinja2 import Template, Environment, FileSystemLoader
|
|
env = Environment(loader=FileSystemLoader("templates"))
|
|
|
|
def load_json_data_from_file(file_path):
|
|
with open(file_path) as json_file:
|
|
data = json.load(json_file)
|
|
return data
|
|
|
|
|
|
def load_yaml_data_from_file(file_path):
|
|
with open(file_path) as yaml_file:
|
|
data = yaml.safe_load(yaml_file)
|
|
return data
|
|
|
|
|
|
def render_network_config(template_name, data):
|
|
template = env.get_template(template_name)
|
|
return template.render(data)
|
|
|
|
|
|
def save_built_config(file_name, data):
|
|
with open(file_name, "w") as f:
|
|
f.write(data)
|
|
return file_name
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
#process R2
|
|
r2_data = load_json_data_from_file(file_path='data/R2.json')
|
|
esw2_data = load_json_data_from_file(file_path='data/ESW2.json')
|
|
#fichier_inconnu_data = load_json_data_from_file(file_path='data/file-unknown.json')
|
|
#print(r2_data)
|
|
r2_config = render_network_config(template_name='R2.j2', data=r2_data)
|
|
save_built_config('config/R2.conf', r2_config)
|
|
|
|
#process ESW2
|
|
esw2_data = load_json_data_from_file(file_path='data/ESW2.json')
|
|
esw2_config = render_network_config(template_name='ESW2.j2', data=esw2_data)
|
|
save_built_config('config/ESW2.conf', esw2_config)
|
|
|
|
r2_data_yaml = load_yaml_data_from_file(file_path='data/R2.yaml')
|
|
r2_config_yaml = render_network_config(template_name='R2.j2', data=r2_data_yaml)
|
|
save_built_config('config/R2_from_yaml.conf', r2_config_yaml)
|
|
|
|
esw2_data_yaml = load_yaml_data_from_file(file_path='data/ESW2.yaml')
|
|
esw2_config_yaml = render_network_config(template_name='ESW2.j2', data=esw2_data_yaml)
|
|
save_built_config('config/ESW2_from_yaml.conf', esw2_config_yaml)
|
|
pass |