Skip to content

Commit 947e3e9

Browse files
add field validator to WellSummary
1 parent 68263e5 commit 947e3e9

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

api/src/opentrons/protocol_engine/types/liquid_level_detection.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from dataclasses import dataclass
44
from datetime import datetime
55
from typing import Optional, List
6-
from pydantic import BaseModel, model_serializer
6+
from pydantic import BaseModel, model_serializer, field_validator
77

88

99
class SimulatedProbeResult(BaseModel):
@@ -104,6 +104,19 @@ class ProbedVolumeInfo(BaseModel):
104104
class WellInfoSummary(BaseModel):
105105
"""Payload for a well's liquid info in StateSummary."""
106106

107+
@field_validator("probed_height", "probed_volume", mode="before")
108+
@classmethod
109+
def validate_simulated_probe_result(
110+
cls, input_val: str | None
111+
) -> LiquidTrackingType | None:
112+
"""Return the appropriate input to WellInfoSummary from json data."""
113+
if not input_val:
114+
return None
115+
if input_val.isdigit():
116+
return float(input_val)
117+
else:
118+
return SimulatedProbeResult()
119+
107120
labware_id: str
108121
well_name: str
109122
loaded_volume: Optional[float] = None

0 commit comments

Comments
 (0)