replaces ObservableDict key type warning with exception

This commit is contained in:
Mose Müller 2024-04-30 11:44:07 +02:00
parent 208dee2b92
commit ad4f926472

View File

@ -239,11 +239,10 @@ class _ObservableDict(dict[str, Any], ObservableObject):
def __setitem__(self, key: str, value: Any) -> None: def __setitem__(self, key: str, value: Any) -> None:
if not isinstance(key, str): if not isinstance(key, str):
logger.warning( raise ValueError(
"Dictionary key %s is not a string. Converting to string...", f"Invalid key type: {key} ({type(key).__name__}). In pydase services, "
key, "dictionary keys must be strings."
) )
key = str(key)
if hasattr(self, "_observers"): if hasattr(self, "_observers"):
self._remove_observer_if_observable(f'["{key}"]') self._remove_observer_if_observable(f'["{key}"]')