mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 21:11:12 +00:00
fix: figure_resource
This commit is contained in:
@@ -697,7 +697,7 @@ class BaseROS2DeviceNode(Node, Generic[T]):
|
|||||||
else:
|
else:
|
||||||
final_resource = [convert_resources_to_type([i], final_type)[0] for i in resources_list]
|
final_resource = [convert_resources_to_type([i], final_type)[0] for i in resources_list]
|
||||||
try:
|
try:
|
||||||
action_kwargs[k] = self.resource_tracker.figure_resource(final_resource)
|
action_kwargs[k] = self.resource_tracker.figure_resource(final_resource, try_mode=True)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.lab_logger().error(f"物料实例获取失败: {e}\n{traceback.format_exc()}")
|
self.lab_logger().error(f"物料实例获取失败: {e}\n{traceback.format_exc()}")
|
||||||
error_skip = True
|
error_skip = True
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ class DeviceNodeResourceTracker(object):
|
|||||||
|
|
||||||
def figure_resource(self, query_resource, try_mode=False):
|
def figure_resource(self, query_resource, try_mode=False):
|
||||||
if isinstance(query_resource, list):
|
if isinstance(query_resource, list):
|
||||||
return [self.figure_resource(r) for r in query_resource]
|
return [self.figure_resource(r, try_mode) for r in query_resource]
|
||||||
elif isinstance(query_resource, dict) and "id" not in query_resource and "name" not in query_resource: # 临时处理,要删除的,driver有太多类型错误标注
|
elif isinstance(query_resource, dict) and "id" not in query_resource and "name" not in query_resource: # 临时处理,要删除的,driver有太多类型错误标注
|
||||||
return [self.figure_resource(r) for r in query_resource.values()]
|
return [self.figure_resource(r, try_mode) for r in query_resource.values()]
|
||||||
res_id = query_resource.id if hasattr(query_resource, "id") else (query_resource.get("id") if isinstance(query_resource, dict) else None)
|
res_id = query_resource.id if hasattr(query_resource, "id") else (query_resource.get("id") if isinstance(query_resource, dict) else None)
|
||||||
res_name = query_resource.name if hasattr(query_resource, "name") else (query_resource.get("name") if isinstance(query_resource, dict) else None)
|
res_name = query_resource.name if hasattr(query_resource, "name") else (query_resource.get("name") if isinstance(query_resource, dict) else None)
|
||||||
res_identifier = res_id if res_id else res_name
|
res_identifier = res_id if res_id else res_name
|
||||||
|
|||||||
Reference in New Issue
Block a user