mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-04-29 20:24:00 +00:00
refactor configurator for web page cache issue Tracked-On: #7356 Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
52 lines
1.5 KiB
Python
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()
|