fix json dumps

This commit is contained in:
Xuwznln
2025-10-31 22:12:54 +08:00
parent 5f859917d4
commit 8b5653d801
2 changed files with 14 additions and 29 deletions

View File

@@ -705,8 +705,8 @@ class BaseROS2DeviceNode(Node, Generic[T]):
return { return {
"success": True, "success": True,
"action": "remove", "action": "remove",
"removed_plr": found_plr_resources, # "removed_plr": found_plr_resources,
"removed_other": other_plr_resources, # "removed_other": other_plr_resources,
} }
def _handle_update( def _handle_update(
@@ -736,13 +736,11 @@ class BaseROS2DeviceNode(Node, Generic[T]):
self.lab_logger().info(f"物料改名操作:{old_name} -> {new_name}") self.lab_logger().info(f"物料改名操作:{old_name} -> {new_name}")
# 收集所有相关的uuid包括子节点 # 收集所有相关的uuid包括子节点
all_uuids = self.resource_tracker.loop_gather_uuid(original_instance) _handle_remove([original_instance.unilabos_uuid])
_handle_remove(all_uuids)
original_instance.name = new_name original_instance.name = new_name
_handle_add([original_instance], tree_set, additional_add_params) _handle_add([original_instance], tree_set, additional_add_params)
self.lab_logger().info(f"物料改名完成:{old_name} -> {new_name}") self.lab_logger().info(f"物料改名完成:{old_name} -> {new_name}")
continue
# 常规更新:不涉及改名 # 常规更新:不涉及改名
original_parent_resource = original_instance.parent original_parent_resource = original_instance.parent
@@ -827,7 +825,7 @@ class BaseROS2DeviceNode(Node, Generic[T]):
# 返回处理结果 # 返回处理结果
result_json = {"results": results, "total": len(data)} result_json = {"results": results, "total": len(data)}
res.response = json.dumps(result_json, ensure_ascii=False) res.response = json.dumps(result_json, ensure_ascii=False, cls=TypeEncoder)
self.lab_logger().info(f"[Resource Tree Update] Completed processing {len(data)} operations") self.lab_logger().info(f"[Resource Tree Update] Completed processing {len(data)} operations")
except json.JSONDecodeError as e: except json.JSONDecodeError as e:

View File

@@ -165,29 +165,16 @@ class HostNode(BaseROS2DeviceNode):
# resources_config 的 root node 是 # resources_config 的 root node 是
# # 创建反向映射new_uuid -> old_uuid # # 创建反向映射new_uuid -> old_uuid
# reverse_uuid_mapping = {new_uuid: old_uuid for old_uuid, new_uuid in uuid_mapping.items()} # reverse_uuid_mapping = {new_uuid: old_uuid for old_uuid, new_uuid in uuid_mapping.items()}
# for tree in resources_config.trees: for tree in resources_config.trees:
# node = tree.root_node node = tree.root_node
# if node.res_content.type == "device": if node.res_content.type == "device":
# if node.res_content.id == "host_node": continue
# continue else:
# # slave节点走c2s更新接口拿到add自行update uuid try:
# device_tracker = self.devices_instances[node.res_content.id].resource_tracker for plr_resource in ResourceTreeSet([tree]).to_plr_resources():
# old_uuid = reverse_uuid_mapping.get(node.res_content.uuid) self._resource_tracker.add_resource(plr_resource)
# if old_uuid: except Exception as ex:
# # 找到旧UUID使用UUID查找 self.lab_logger().warning(f"[Host Node-Resource] 根节点物料{tree}序列化失败!")
# resource_instance = device_tracker.uuid_to_resources.get(old_uuid)
# else:
# # 未找到旧UUID使用name查找
# resource_instance = device_tracker.figure_resource(
# {"name": node.res_content.name}
# )
# device_tracker.loop_update_uuid(resource_instance, uuid_mapping)
# else:
# try:
# for plr_resource in ResourceTreeSet([tree]).to_plr_resources():
# self.resource_tracker.add_resource(plr_resource)
# except Exception as ex:
# self.lab_logger().warning("[Host Node-Resource] 根节点物料序列化失败!")
except Exception as ex: except Exception as ex:
logger.error(f"[Host Node-Resource] 添加物料出错!\n{traceback.format_exc()}") logger.error(f"[Host Node-Resource] 添加物料出错!\n{traceback.format_exc()}")
# 初始化Node基类传递空参数覆盖列表 # 初始化Node基类传递空参数覆盖列表