Skip to content

Commit 02cd8de

Browse files
committed
Add None conversion for tube rack etc.
1 parent a66603e commit 02cd8de

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

unilabos/resources/container.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def load_state(self, state: Dict[str, Any]):
2727
def get_regular_container(name="container"):
2828
r = RegularContainer(name=name)
2929
r.category = "container"
30-
return RegularContainer(name=name)
30+
return r
3131

3232
#
3333
# class RegularContainer(object):

unilabos/resources/resource_tracker.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import inspect
22
import traceback
33
import uuid
4-
from pydantic import BaseModel, field_serializer, field_validator
4+
from pydantic import BaseModel, field_serializer, field_validator, ValidationError
55
from pydantic import Field
66
from typing import List, Tuple, Any, Dict, Literal, Optional, cast, TYPE_CHECKING, Union
77

@@ -160,7 +160,11 @@ def get_resource_instance_from_dict(cls, content: Dict[str, Any]) -> "ResourceDi
160160
"depth": content["config"].get("size_z", 0),
161161
}
162162
content["pose"] = pose
163-
return ResourceDictInstance(ResourceDict.model_validate(content))
163+
try:
164+
res_dict = ResourceDict.model_validate(content)
165+
return ResourceDictInstance(res_dict)
166+
except ValidationError as err:
167+
raise err
164168

165169
def get_plr_nested_dict(self) -> Dict[str, Any]:
166170
"""获取资源实例的嵌套字典表示"""
@@ -339,6 +343,8 @@ def replace_plr_type(source: str):
339343
}
340344
if source in replace_info:
341345
return replace_info[source]
346+
elif source is None:
347+
return ""
342348
else:
343349
print("转换pylabrobot的时候,出现未知类型", source)
344350
return source

0 commit comments

Comments
 (0)