From 3653b268ed03e361ecb28f9a6458d17e3857e222 Mon Sep 17 00:00:00 2001 From: Kunhui-Li Date: Fri, 13 May 2022 16:42:04 +0800 Subject: [PATCH] config_tools: format vitio input in configurator This patch formats virtio input entry as "Device name: xxx, Device physical path: xxx". Tracked-On: #6691 Signed-off-by: Kunhui-Li --- misc/config_tools/configurator/pyodide/loadBoard.py | 12 ++++++++++-- misc/config_tools/schema/VMtypes.xsd | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/misc/config_tools/configurator/pyodide/loadBoard.py b/misc/config_tools/configurator/pyodide/loadBoard.py index 48bb02715..035c89fa2 100644 --- a/misc/config_tools/configurator/pyodide/loadBoard.py +++ b/misc/config_tools/configurator/pyodide/loadBoard.py @@ -2,6 +2,7 @@ __package__ = 'configurator.pyodide' import json +import logging from copy import deepcopy import elementpath @@ -20,7 +21,11 @@ def get_dynamic_scenario(board): board_xml = etree.fromstring(board) def get_enum(source, options, obj_type): - elements = [str(x) for x in elementpath.select(source, options) if x] + if options == "//inputs/input": + inputs_etree = [x for x in elementpath.select(source, options) if x is not None] + elements = [f"Device name: {str(elementpath.select(i, './name/text()')[0])}, Device physical path: {str(elementpath.select(i, './phys/text()')[0])}" for i in inputs_etree] + else: + elements = [str(x) for x in elementpath.select(source, options) if x] elements = list(set(elements)) if not elements: elements = [''] @@ -42,7 +47,10 @@ def get_dynamic_scenario(board): # get enum data enum = function(source, selector, obj_type) if sorted_func: - enum = sorted(enum, key=eval(sorted_func)) + try: + enum = sorted(enum, key=eval(sorted_func)) + except IndexError as e: + logging.warning(e) return enum def dynamic_enum_apply(obj): diff --git a/misc/config_tools/schema/VMtypes.xsd b/misc/config_tools/schema/VMtypes.xsd index 302e152b6..8fe381caa 100644 --- a/misc/config_tools/schema/VMtypes.xsd +++ b/misc/config_tools/schema/VMtypes.xsd @@ -395,7 +395,8 @@ device file when user config it as virtio serial port, which can be read and wri - + Specifying backend device in service vm with device description.