mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
refactor: monitor_config_validator.py name validation logic
This commit is contained in:
@ -33,16 +33,16 @@ class Signal(BaseModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Check if device exists in BEC
|
# Check if device exists in BEC
|
||||||
try:
|
if v not in devices:
|
||||||
device = getattr(devices, v)
|
|
||||||
except:
|
|
||||||
raise PydanticCustomError(
|
raise PydanticCustomError(
|
||||||
"no_device_bec",
|
"no_device_bec",
|
||||||
'Device "{wrong_value}" not found in current BEC session',
|
'Device "{wrong_value}" not found in current BEC session',
|
||||||
dict(wrong_value=v),
|
dict(wrong_value=v),
|
||||||
)
|
)
|
||||||
|
|
||||||
# Check if device have signals #TODO not sure if devices can be defined also without signals
|
device = devices.get(v) # get the device to check if it has signals
|
||||||
|
|
||||||
|
# Check if device have signals
|
||||||
if not hasattr(device, "signals"):
|
if not hasattr(device, "signals"):
|
||||||
raise PydanticCustomError(
|
raise PydanticCustomError(
|
||||||
"no_device_signals",
|
"no_device_signals",
|
||||||
@ -57,6 +57,7 @@ class Signal(BaseModel):
|
|||||||
def set_and_validate_entry(cls, v, values):
|
def set_and_validate_entry(cls, v, values):
|
||||||
devices = MonitorConfigValidator.devices
|
devices = MonitorConfigValidator.devices
|
||||||
|
|
||||||
|
# Get device name from values -> device is already validated
|
||||||
device_name = values.data.get("name")
|
device_name = values.data.get("name")
|
||||||
device = getattr(devices, device_name, None)
|
device = getattr(devices, device_name, None)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user