支持local_config启动 添加注册表description字段 (#13)

Closes #11

* Update README and MQTTClient for installation instructions and code improvements

* feat: 支持local_config启动
add: 增加对crt path的说明,为传入config.py的相对路径
move: web component

* add: registry description

---------

Co-authored-by: Harvey Que <Q-Query@outlook.com>
This commit is contained in:
Xuwznln
2025-04-20 18:24:45 +08:00
committed by GitHub
parent 22a02bdb06
commit 35ada068cc
39 changed files with 114 additions and 34 deletions

View File

@@ -0,0 +1,58 @@
"""
设备工具函数模块
提供处理设备配置的辅助函数
"""
import json
from typing import Dict, Any
# 这里不能循环导入
# 在函数内部导入process_device_actions
# from unilabos.web.utils.action_utils import process_device_actions
def get_registry_info() -> Dict[str, Any]:
"""获取Registry相关路径信息
Returns:
包含Registry路径信息的字典
"""
from unilabos.registry.registry import lab_registry
from pathlib import Path
registry_info = {}
if lab_registry:
# 获取所有registry路径
if hasattr(lab_registry, "registry_paths") and lab_registry.registry_paths:
# 保存所有注册表路径
registry_info["paths"] = [str(path).replace("\\", "/") for path in lab_registry.registry_paths]
# 获取设备和资源的相关路径
for reg_path in lab_registry.registry_paths:
base_path = Path(reg_path)
# 检查设备目录
devices_path = base_path / "devices"
if devices_path.exists():
if "devices_paths" not in registry_info:
registry_info["devices_paths"] = []
registry_info["devices_paths"].append(str(devices_path).replace("\\", "/"))
# 检查设备通信目录
device_comms_path = base_path / "device_comms"
if device_comms_path.exists():
if "device_comms_paths" not in registry_info:
registry_info["device_comms_paths"] = []
registry_info["device_comms_paths"].append(str(device_comms_path).replace("\\", "/"))
# 检查资源目录
resources_path = base_path / "resources"
if resources_path.exists():
if "resources_paths" not in registry_info:
registry_info["resources_paths"] = []
registry_info["resources_paths"].append(str(resources_path).replace("\\", "/"))
return registry_info