mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-28 16:27:01 +00:00
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 <kunhuix.li@intel.com>
This commit is contained in:
parent
3a133d3138
commit
3653b268ed
@ -2,6 +2,7 @@
|
|||||||
__package__ = 'configurator.pyodide'
|
__package__ = 'configurator.pyodide'
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
import elementpath
|
import elementpath
|
||||||
@ -20,7 +21,11 @@ def get_dynamic_scenario(board):
|
|||||||
board_xml = etree.fromstring(board)
|
board_xml = etree.fromstring(board)
|
||||||
|
|
||||||
def get_enum(source, options, obj_type):
|
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))
|
elements = list(set(elements))
|
||||||
if not elements:
|
if not elements:
|
||||||
elements = ['']
|
elements = ['']
|
||||||
@ -42,7 +47,10 @@ def get_dynamic_scenario(board):
|
|||||||
# get enum data
|
# get enum data
|
||||||
enum = function(source, selector, obj_type)
|
enum = function(source, selector, obj_type)
|
||||||
if sorted_func:
|
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
|
return enum
|
||||||
|
|
||||||
def dynamic_enum_apply(obj):
|
def dynamic_enum_apply(obj):
|
||||||
|
@ -395,7 +395,8 @@ device file when user config it as virtio serial port, which can be read and wri
|
|||||||
<xs:complexType name="VirtioInputConfiguration">
|
<xs:complexType name="VirtioInputConfiguration">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="backend_device_file" type="xs:string" minOccurs="0">
|
<xs:element name="backend_device_file" type="xs:string" minOccurs="0">
|
||||||
<xs:annotation acrn:title="Backend device file" acrn:widget-options="'placeholder': '/dev/input/eventX'">
|
<xs:annotation acrn:title="Backend device file" acrn:widget-options="'placeholder': '/dev/input/eventX'" acrn:options="//inputs/input"
|
||||||
|
acrn:options-sorted-by="lambda s: (s.split('Device name: ')[1].split(', Device physical path')[0], s.split('Device physical path: ')[1])">
|
||||||
<xs:documentation>Specifying backend device in service vm with device description.</xs:documentation>
|
<xs:documentation>Specifying backend device in service vm with device description.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
Loading…
Reference in New Issue
Block a user