File tree Expand file tree Collapse file tree 3 files changed +15
-18
lines changed
common-library/src/common_library
models-library/src/models_library
services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/core Expand file tree Collapse file tree 3 files changed +15
-18
lines changed Original file line number Diff line number Diff line change 11import datetime
22
3- from models_library .services_types import RunID
43from pydantic import field_validator
54
65
@@ -19,13 +18,3 @@ def _try_convert_str_to_float_or_return(
1918def timedelta_try_convert_str_to_float (field : str ):
2019 """Transforms a float/int number into a valid datetime as it used to work in the past"""
2120 return field_validator (field , mode = "before" )(_try_convert_str_to_float_or_return )
22-
23-
24- def _convert_str_to_run_id_object (v : RunID | str ) -> RunID :
25- if isinstance (v , str ):
26- return RunID (v )
27- return v
28-
29-
30- def convert_str_to_run_id_object (field : str ):
31- return field_validator (field , mode = "before" )(_convert_str_to_run_id_object )
Original file line number Diff line number Diff line change 22from uuid import uuid4
33
44import arrow
5- from pydantic import StringConstraints , TypeAdapter
5+ from pydantic import StringConstraints , TypeAdapter , ValidationInfo
66
77from .basic_regex import PROPERTY_KEY_RE , SIMPLE_VERSION_RE
88from .services_regex import (
@@ -59,3 +59,16 @@ def create(cls) -> "RunID":
5959 utc_int_timestamp : int = arrow .utcnow ().int_timestamp
6060 run_id_format = f"{ utc_int_timestamp } _{ uuid4 ()} "
6161 return cls (run_id_format )
62+
63+ @classmethod
64+ def __get_validators__ (cls ):
65+ yield cls .validate
66+
67+ @classmethod
68+ def validate (cls , v : "RunID | str" , _ : ValidationInfo ) -> "RunID" :
69+ if isinstance (v , cls ):
70+ return v
71+ if isinstance (v , str ):
72+ return cls (v )
73+ msg = f"Invalid value for RunID: { v } "
74+ raise TypeError (msg )
Original file line number Diff line number Diff line change 55from typing import cast
66
77from common_library .pydantic_type_adapters import ByteSizeAdapter
8- from common_library .pydantic_validators import (
9- convert_str_to_run_id_object ,
10- timedelta_try_convert_str_to_float ,
11- )
8+ from common_library .pydantic_validators import timedelta_try_convert_str_to_float
129from models_library .basic_types import BootModeEnum , PortInt
1310from models_library .callbacks_mapping import CallbacksMapping
1411from models_library .products import ProductName
@@ -197,8 +194,6 @@ def are_prometheus_metrics_enabled(self) -> bool:
197194 def _check_log_level (cls , value ):
198195 return cls .validate_log_level (value )
199196
200- _convert_str_to_run_id_object = convert_str_to_run_id_object ("DY_SIDECAR_RUN_ID" )
201-
202197 _try_convert_dynamic_sidecar_telemetry_disk_usage_monitor_interval = (
203198 timedelta_try_convert_str_to_float (
204199 "DYNAMIC_SIDECAR_TELEMETRY_DISK_USAGE_MONITOR_INTERVAL"
You can’t perform that action at this time.
0 commit comments