set liquid with tube

This commit is contained in:
Xuwznln
2026-02-11 16:20:07 +08:00
parent f9ed6cb3fb
commit b7d3e980a9

View File

@@ -21,7 +21,7 @@ from pylabrobot.resources import (
ResourceHolder, ResourceHolder,
Lid, Lid,
Trash, Trash,
Tip, Tip, TubeRack,
) )
from typing_extensions import TypedDict from typing_extensions import TypedDict
@@ -696,10 +696,13 @@ class LiquidHandlerAbstract(LiquidHandlerMiddleware):
如果 liquid_names 和 volumes 为空,但 plate 和 well_names 不为空,直接返回 plate 和 wells。 如果 liquid_names 和 volumes 为空,但 plate 和 well_names 不为空,直接返回 plate 和 wells。
""" """
assert issubclass(plate.__class__, Plate), "plate must be a Plate" assert issubclass(plate.__class__, Plate) or issubclass(plate.__class__, TubeRack) , f"plate must be a Plate, now: {type(plate)}"
plate: Plate = cast(Plate, cast(Resource, plate)) plate: Union[Plate, TubeRack]
# 根据 well_names 获取对应的 Well 对象 # 根据 well_names 获取对应的 Well 对象
if issubclass(plate.__class__, Plate):
wells = [plate.get_well(name) for name in well_names] wells = [plate.get_well(name) for name in well_names]
elif issubclass(plate.__class__, TubeRack):
wells = [plate.get_tube(name) for name in well_names]
res_volumes = [] res_volumes = []
# 如果 liquid_names 和 volumes 都为空,直接返回 # 如果 liquid_names 和 volumes 都为空,直接返回