mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-04 21:35:09 +00:00
fix: WareHouse 的不可哈希类型错误,优化父节点去重逻辑
This commit is contained in:
@@ -923,7 +923,14 @@ class BaseROS2DeviceNode(Node, Generic[T]):
|
|||||||
plr_resources = tree_set.to_plr_resources()
|
plr_resources = tree_set.to_plr_resources()
|
||||||
result, parents = _handle_add(plr_resources, tree_set, additional_add_params)
|
result, parents = _handle_add(plr_resources, tree_set, additional_add_params)
|
||||||
parents: List[Optional["ResourcePLR"]] = [i for i in parents if i is not None]
|
parents: List[Optional["ResourcePLR"]] = [i for i in parents if i is not None]
|
||||||
de_dupe_parents = list(set(parents))
|
# de_dupe_parents = list(set(parents))
|
||||||
|
# Fix unhashable type error for WareHouse
|
||||||
|
de_dupe_parents = []
|
||||||
|
_seen_ids = set()
|
||||||
|
for p in parents:
|
||||||
|
if id(p) not in _seen_ids:
|
||||||
|
_seen_ids.add(id(p))
|
||||||
|
de_dupe_parents.append(p)
|
||||||
new_tree_set = ResourceTreeSet.from_plr_resources(de_dupe_parents) # 去重
|
new_tree_set = ResourceTreeSet.from_plr_resources(de_dupe_parents) # 去重
|
||||||
for tree in new_tree_set.trees:
|
for tree in new_tree_set.trees:
|
||||||
if tree.root_node.res_content.uuid_parent is None and self.node_name != "host_node":
|
if tree.root_node.res_content.uuid_parent is None and self.node_name != "host_node":
|
||||||
|
|||||||
Reference in New Issue
Block a user