From ffa841a41ad93e17dd2782ed927f2316ab39ccc7 Mon Sep 17 00:00:00 2001 From: Xuwznln <18435084+Xuwznln@users.noreply.github.com> Date: Mon, 15 Sep 2025 16:25:41 +0800 Subject: [PATCH] fix dupe upload registry --- unilabos/app/main.py | 25 ++++++++++++++----------- unilabos/ros/nodes/presets/host_node.py | 8 -------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/unilabos/app/main.py b/unilabos/app/main.py index 06e4095a..33136de3 100644 --- a/unilabos/app/main.py +++ b/unilabos/app/main.py @@ -340,18 +340,21 @@ def main(): for i in args_dict["resources_config"]: print_status(f"DeviceId: {i['id']}, Class: {i['class']}", "info") - # 设备注册到服务端 - 需要 ak 和 sk - if args_dict.get("ak") and args_dict.get("sk"): - print_status("检测到 ak 和 sk,开始注册设备到服务端...", "info") - try: - register_devices_and_resources(lab_registry) - print_status("设备注册完成", "info") - except Exception as e: - print_status(f"设备注册失败: {e}", "error") - elif args_dict.get("ak") or args_dict.get("sk"): - print_status("警告:ak 和 sk 必须同时提供才能注册设备到服务端", "warning") + if BasicConfig.upload_registry: + # 设备注册到服务端 - 需要 ak 和 sk + if args_dict.get("ak") and args_dict.get("sk"): + print_status("开始注册设备到服务端...", "info") + try: + register_devices_and_resources(lab_registry) + print_status("设备注册完成", "info") + except Exception as e: + print_status(f"设备注册失败: {e}", "error") + else: + print_status("未提供 ak 和 sk,跳过设备注册", "info") else: - print_status("未提供 ak 和 sk,跳过设备注册", "info") + print_status( + "本次启动注册表不报送云端,如果您需要联网调试,请在启动命令增加--upload_registry", "warning" + ) if args_dict["controllers"] is not None: args_dict["controllers_config"] = yaml.safe_load(open(args_dict["controllers"], encoding="utf-8")) diff --git a/unilabos/ros/nodes/presets/host_node.py b/unilabos/ros/nodes/presets/host_node.py index 9dbdcc1f..c27a7a2b 100644 --- a/unilabos/ros/nodes/presets/host_node.py +++ b/unilabos/ros/nodes/presets/host_node.py @@ -24,8 +24,6 @@ from unilabos_msgs.srv import ( ) # type: ignore from unique_identifier_msgs.msg import UUID -from unilabos.app.register import register_devices_and_resources -from unilabos.config.config import BasicConfig from unilabos.registry.registry import lab_registry from unilabos.resources.graphio import initialize_resource from unilabos.resources.registry import add_schema @@ -163,12 +161,6 @@ class HostNode(BaseROS2DeviceNode): self.device_status = {} # 用来存储设备状态 self.device_status_timestamps = {} # 用来存储设备状态最后更新时间 - if BasicConfig.upload_registry: - register_devices_and_resources(lab_registry) - else: - self.lab_logger().warning( - "本次启动注册表不报送云端,如果您需要联网调试,请在启动命令增加--upload_registry" - ) time.sleep(1) # 等待通信连接稳定 # 首次发现网络中的设备 self._discover_devices()