From 5c72036a67ab0aceae13308d36af4f318aa60985 Mon Sep 17 00:00:00 2001 From: Kunhui-Li Date: Tue, 17 May 2022 23:50:06 +0800 Subject: [PATCH] config_tools: using XPATH expression to handle input data XPATH 2.0 already supports functions like for-expressions, so we use XPATH expression instead of the python code to format virtio input data. Tracked-On: #6691 Signed-off-by: Kunhui-Li Reviewed-by: Junjie Mao --- misc/config_tools/configurator/pyodide/loadBoard.py | 12 ++---------- misc/config_tools/schema/VMtypes.xsd | 5 +++-- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/misc/config_tools/configurator/pyodide/loadBoard.py b/misc/config_tools/configurator/pyodide/loadBoard.py index 035c89fa2..48bb02715 100644 --- a/misc/config_tools/configurator/pyodide/loadBoard.py +++ b/misc/config_tools/configurator/pyodide/loadBoard.py @@ -2,7 +2,6 @@ __package__ = 'configurator.pyodide' import json -import logging from copy import deepcopy import elementpath @@ -21,11 +20,7 @@ def get_dynamic_scenario(board): board_xml = etree.fromstring(board) def get_enum(source, options, obj_type): - 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 = [str(x) for x in elementpath.select(source, options) if x] elements = list(set(elements)) if not elements: elements = [''] @@ -47,10 +42,7 @@ def get_dynamic_scenario(board): # get enum data enum = function(source, selector, obj_type) if sorted_func: - try: - enum = sorted(enum, key=eval(sorted_func)) - except IndexError as e: - logging.warning(e) + enum = sorted(enum, key=eval(sorted_func)) return enum def dynamic_enum_apply(obj): diff --git a/misc/config_tools/schema/VMtypes.xsd b/misc/config_tools/schema/VMtypes.xsd index 8fe381caa..91fd76cd6 100644 --- a/misc/config_tools/schema/VMtypes.xsd +++ b/misc/config_tools/schema/VMtypes.xsd @@ -395,8 +395,9 @@ 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.