Skip to content

Commit 08fa3b2

Browse files
author
Andrei Neagu
committed
fixed issue with RunID
1 parent aee1ce7 commit 08fa3b2

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed
Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import datetime
22

3-
from models_library.services_types import RunID
43
from pydantic import field_validator
54

65

@@ -19,13 +18,3 @@ def _try_convert_str_to_float_or_return(
1918
def 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)

packages/models-library/src/models_library/services_types.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from uuid import uuid4
33

44
import arrow
5-
from pydantic import StringConstraints, TypeAdapter
5+
from pydantic import StringConstraints, TypeAdapter, ValidationInfo
66

77
from .basic_regex import PROPERTY_KEY_RE, SIMPLE_VERSION_RE
88
from .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)

services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/core/settings.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
from typing import cast
66

77
from 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
129
from models_library.basic_types import BootModeEnum, PortInt
1310
from models_library.callbacks_mapping import CallbacksMapping
1411
from 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"

0 commit comments

Comments
 (0)