acrn-hypervisor/misc/config_tools/configurator/pyodide/generateLaunchScript.py
Weiyi Feng 696ba31be8 config_tools: refactor configurator for web page cache issue
refactor configurator for web page cache issue

Tracked-On: #7356
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-04-25 18:13:12 +08:00

52 lines
1.5 KiB
Python

#!/usr/bin/env python3
__package__ = 'configurator.pyodide'
import os
from tempfile import TemporaryDirectory
from pathlib import Path
from launch_config.launch_cfg_gen import main as launch_cfg_gen_main
from .pyodide import convert_result, nuc11_board, nuc11_scenario, write_temp_file
def generate_launch_script(board, scenario, user_vm_id=0):
"""
:param board: board xml text
:param scenario: scenario xml text
:param user_vm_id: the vm which you want to generate launch script, will generate all launch script if it set to zero
"""
launch_scripts = {}
with TemporaryDirectory() as tmpdir:
# Write file to dir
write_temp_file(tmpdir, {
'board.xml': board,
'scenario.xml': scenario
})
# define path
board_file_path = Path(tmpdir) / 'board.xml'
scenario_file_path = Path(tmpdir) / 'scenario.xml'
launch_script_output_dir = Path(tmpdir) / 'output'
# generate launch script
launch_cfg_gen_main(board_file_path, scenario_file_path, user_vm_id, launch_script_output_dir)
# get output and convert it to {filename: content}
for filename in os.listdir(launch_script_output_dir):
abs_name = launch_script_output_dir / str(filename)
launch_scripts[filename] = open(abs_name, encoding='utf-8').read()
return convert_result(launch_scripts)
main = generate_launch_script
def test():
main(nuc11_board, nuc11_scenario)
if __name__ == '__main__':
test()