From 999a6016ff1f1aa389d15eb21dea35ff8c75fd9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Mon, 27 May 2024 14:51:49 +0200 Subject: [PATCH] using __future__.annotations instead of quoted types --- .../observable/observable_object.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/pydase/observer_pattern/observable/observable_object.py b/src/pydase/observer_pattern/observable/observable_object.py index 82f0e70..cf652ca 100644 --- a/src/pydase/observer_pattern/observable/observable_object.py +++ b/src/pydase/observer_pattern/observable/observable_object.py @@ -1,33 +1,36 @@ +from __future__ import annotations + import logging from abc import ABC, abstractmethod -from collections.abc import Iterable from typing import TYPE_CHECKING, Any, ClassVar, SupportsIndex from pydase.utils.helpers import parse_serialized_key if TYPE_CHECKING: + from collections.abc import Iterable + from pydase.observer_pattern.observer.observer import Observer logger = logging.getLogger(__name__) class ObservableObject(ABC): - _list_mapping: ClassVar[dict[int, "_ObservableList"]] = {} - _dict_mapping: ClassVar[dict[int, "_ObservableDict"]] = {} + _list_mapping: ClassVar[dict[int, _ObservableList]] = {} + _dict_mapping: ClassVar[dict[int, _ObservableDict]] = {} def __init__(self) -> None: if not hasattr(self, "_observers"): - self._observers: dict[str, list["ObservableObject | Observer"]] = {} + self._observers: dict[str, list[ObservableObject | Observer]] = {} def add_observer( - self, observer: "ObservableObject | Observer", attr_name: str = "" + self, observer: ObservableObject | Observer, attr_name: str = "" ) -> None: if attr_name not in self._observers: self._observers[attr_name] = [] if observer not in self._observers[attr_name]: self._observers[attr_name].append(observer) - def _remove_observer(self, observer: "ObservableObject", attribute: str) -> None: + def _remove_observer(self, observer: ObservableObject, attribute: str) -> None: if attribute in self._observers: self._observers[attribute].remove(observer)