From 98e9791d093b3a9449b77d2b5105ecd46b649c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 20 May 2025 13:51:12 +0200 Subject: [PATCH] suppresses KeyError when removing key from observable dict mapping This error is thrown in some test cases when some object gets deleted but it's not within the dict mapping for some reason. --- src/pydase/observer_pattern/observable/observable_object.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pydase/observer_pattern/observable/observable_object.py b/src/pydase/observer_pattern/observable/observable_object.py index b1e2b2e..44cb68c 100644 --- a/src/pydase/observer_pattern/observable/observable_object.py +++ b/src/pydase/observer_pattern/observable/observable_object.py @@ -1,5 +1,6 @@ from __future__ import annotations +import contextlib import logging import weakref from abc import ABC, abstractmethod @@ -252,7 +253,8 @@ class _ObservableDict(ObservableObject, dict[str, Any]): self.__setitem__(key, self._initialise_new_objects(f'["{key}"]', value)) def __del__(self) -> None: - self._dict_mapping.pop(id(self._original_dict)) + with contextlib.suppress(KeyError): + self._dict_mapping.pop(id(self._original_dict)) def __setitem__(self, key: str, value: Any) -> None: if not isinstance(key, str):