From ad4f9264728e9b205623ab2f860d832ed483be38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 30 Apr 2024 11:44:07 +0200 Subject: [PATCH] replaces ObservableDict key type warning with exception --- .../observer_pattern/observable/observable_object.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pydase/observer_pattern/observable/observable_object.py b/src/pydase/observer_pattern/observable/observable_object.py index b094dd1..477ff64 100644 --- a/src/pydase/observer_pattern/observable/observable_object.py +++ b/src/pydase/observer_pattern/observable/observable_object.py @@ -239,11 +239,10 @@ class _ObservableDict(dict[str, Any], ObservableObject): def __setitem__(self, key: str, value: Any) -> None: if not isinstance(key, str): - logger.warning( - "Dictionary key %s is not a string. Converting to string...", - key, + raise ValueError( + f"Invalid key type: {key} ({type(key).__name__}). In pydase services, " + "dictionary keys must be strings." ) - key = str(key) if hasattr(self, "_observers"): self._remove_observer_if_observable(f'["{key}"]')