53 lines
1.2 KiB
Python

import json
from jinja2 import Environment, FileSystemLoader
import sys
import os
def extract_param_names(mc):
result = {}
def extract_param_groups(mc):
return [k for k in mc['params']]
def build_modem_env(modem):
with open('render-params.json') as f:
config = json.load(f)
if modem not in config['modem_types']:
raise RuntimeError(f"Modem '{modem}' is not exist in config!")
mc = config['modem_types'][modem]
return {
"modem": modem,
"modem_name": mc['modem_name'],
"header_tabs": mc['tabs'],
"tab_names_array": [t['name'] for t in mc['tabs']],
"params": mc["params"],
"paramGroupsWithNames": extract_param_names(mc),
"paramGroupsList": extract_param_groups(mc),
}
def render_modem(modem):
loader = FileSystemLoader('template')
env = Environment(loader=loader, trim_blocks=True, lstrip_blocks=True)
template = env.get_template('main.html')
context = build_modem_env(modem)
with open(f"main-{modem}.html", "w") as f:
f.write(template.render(context))
if __name__ == '__main__':
render_modem('scpc')
render_modem('tdma')
os.system('cp -u main-tdma.html ../static')
os.system('cp -u main-scpc.html ../static')