diff --git a/local_coverage/push_coverage_so/push_coverage.py b/local_coverage/push_coverage_so/push_coverage.py index bb75224e250028f90936422ead29dc52bbec548e..4d82f2328935bd7b11afd5a3ac8c20b3fbb879d7 100644 --- a/local_coverage/push_coverage_so/push_coverage.py +++ b/local_coverage/push_coverage_so/push_coverage.py @@ -152,7 +152,7 @@ if __name__ == "__main__": current_path = os.path.abspath(os.path.dirname(__name__)) _init_sys_config() - from local_coverage.resident_service.public_method import get_config_ip, get_sn_list + from local_coverage.resident_service.public_method import get_config_ip_info, get_sn_list from local_coverage.utils import get_product_name, hdc_command, tree_find_file_endswith,\ json_parse, logger, is_elffile @@ -161,7 +161,7 @@ if __name__ == "__main__": developer_path = os.path.join(root_path, "test", "testfwk", "developer_test") # 获取远程映射相关hdc参数 - device_ip, device_port, device_sn_strs = get_config_ip(os.path.join(developer_path, "config", "user_config.xml")) + device_ip, device_port, device_sn_strs = get_config_ip_info(os.path.join(developer_path, "config", "user_config.xml")) if not device_port: device_port = "8710" if not device_sn_strs: diff --git a/local_coverage/resident_service/init_gcov.py b/local_coverage/resident_service/init_gcov.py index e414e7636d1747424b2307f3397da0f72ca4ef38..e3579d59fabb90f185a87252357371dd6a578df9 100644 --- a/local_coverage/resident_service/init_gcov.py +++ b/local_coverage/resident_service/init_gcov.py @@ -23,7 +23,7 @@ import json import sys import time import xml.etree.ElementTree as ET -from public_method import get_server_dict, get_config_ip, get_sn_list +from public_method import get_server_dict, get_config_ip_info, get_sn_list import stat FLAGS = os.O_WRONLY | os.O_CREAT | os.O_EXCL @@ -351,7 +351,7 @@ if __name__ == '__main__': home_paths = '/'.join(root_path.split("/")[:3]) # 获取user_config中的device ip - ip, port, sn = get_config_ip(os.path.join(developer_test_path, "config/user_config.xml")) + ip, port, sn = get_config_ip_info(os.path.join(developer_test_path, "config/user_config.xml")) if not port: port = "8710" sn_list = [] diff --git a/local_coverage/resident_service/public_method.py b/local_coverage/resident_service/public_method.py index 1cca15678c53b4daa9f495e1d97e679776b24d1c..386fc1a22c075d17d7782b033f5be9ae9271079d 100644 --- a/local_coverage/resident_service/public_method.py +++ b/local_coverage/resident_service/public_method.py @@ -45,6 +45,33 @@ def get_config_ip(filepath): return ip_config, port, sn +def get_config_ip_info(filepath): + ip_config = "" + sn = "" + port = "" + if not os.path.exists(filepath): + return ip_config, port, sn + try: + data_dic = {} + tree = ET.parse(filepath) + root = tree.getroot() + for node in root.findall("environment/device"): + if node.attrib["type"] == "usb-hdc": + break + for sub in node: + if sub.tag != "info": + continue + ip_config = sub.attrib["ip"] + port = sub.attrib["port"] + sn = sub.attrib["sn"] + except ET.ParseError as xml_exception: + print("occurs exception:{}".format(xml_exception.args)) + except KeyError as err: + print(f"Key error: {err}") + + return ip_config, port, sn + + def get_sn_list(command): device_sn_list = [] # 执行查询设备sn号命令并获取执行结果 diff --git a/local_coverage/resident_service/pull_service_gcda.py b/local_coverage/resident_service/pull_service_gcda.py index d3f740f2f784c02f3a6fa380243ba70e1d46d1d6..da60d54bb8d4c316fd018a605b46c962efe158e5 100644 --- a/local_coverage/resident_service/pull_service_gcda.py +++ b/local_coverage/resident_service/pull_service_gcda.py @@ -19,7 +19,7 @@ import os import sys -from public_method import get_server_dict, get_config_ip, get_sn_list +from public_method import get_server_dict, get_config_ip_info, get_sn_list def _init_sys_config(): @@ -148,7 +148,7 @@ if __name__ == '__main__': # 获取子系统部件与服务的关系 system_dict, services_dict, component_dict = get_server_dict(command_str) - ip, port, sn = get_config_ip(os.path.join(developer_test_path, "config/user_config.xml")) + ip, port, sn = get_config_ip_info(os.path.join(developer_test_path, "config/user_config.xml")) if not port: port = "8710" device_sn_list = []