43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
import json
|
|
from jinja2 import Environment, FileSystemLoader
|
|
import sys
|
|
import os
|
|
|
|
|
|
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": {"groupsList": mc["groupsList"]} | config["params"],
|
|
"all_settings_group_names": []
|
|
}
|
|
|
|
|
|
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')
|
|
|