mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-20 08:20:02 +02:00
fixes types
This commit is contained in:
parent
314e89ba38
commit
9c5d133d65
@ -1,10 +1,10 @@
|
|||||||
import logging
|
import logging
|
||||||
|
import weakref
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from collections.abc import Iterable
|
from collections.abc import Iterable
|
||||||
from typing import TYPE_CHECKING, Any, ClassVar, SupportsIndex
|
from typing import TYPE_CHECKING, Any, ClassVar, SupportsIndex
|
||||||
|
|
||||||
from pydase.utils.helpers import parse_serialized_key
|
from pydase.utils.helpers import parse_serialized_key
|
||||||
import weakref
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from pydase.observer_pattern.observer.observer import Observer
|
from pydase.observer_pattern.observer.observer import Observer
|
||||||
@ -13,8 +13,8 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class ObservableObject(ABC):
|
class ObservableObject(ABC):
|
||||||
_list_mapping: ClassVar[dict[int, "_ObservableList"]] = {}
|
_list_mapping: ClassVar[dict[int, weakref.ReferenceType["_ObservableList"]]] = {}
|
||||||
_dict_mapping: ClassVar[dict[int, "_ObservableDict"]] = {}
|
_dict_mapping: ClassVar[dict[int, weakref.ReferenceType["_ObservableDict"]]] = {}
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
if not hasattr(self, "_observers"):
|
if not hasattr(self, "_observers"):
|
||||||
@ -139,7 +139,7 @@ class _ObservableList(ObservableObject, list[Any]):
|
|||||||
super().__setitem__(i, self._initialise_new_objects(f"[{i}]", item))
|
super().__setitem__(i, self._initialise_new_objects(f"[{i}]", item))
|
||||||
self._list_mapping[id(self._original_list)] = weakref.ref(self)
|
self._list_mapping[id(self._original_list)] = weakref.ref(self)
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self) -> None:
|
||||||
self._list_mapping.pop(id(self._original_list))
|
self._list_mapping.pop(id(self._original_list))
|
||||||
|
|
||||||
def __setitem__(self, key: int, value: Any) -> None: # type: ignore[override]
|
def __setitem__(self, key: int, value: Any) -> None: # type: ignore[override]
|
||||||
@ -241,7 +241,7 @@ class _ObservableDict(ObservableObject, dict[str, Any]):
|
|||||||
self.__setitem__(key, self._initialise_new_objects(f'["{key}"]', value))
|
self.__setitem__(key, self._initialise_new_objects(f'["{key}"]', value))
|
||||||
self._dict_mapping[id(self._original_dict)] = weakref.ref(self)
|
self._dict_mapping[id(self._original_dict)] = weakref.ref(self)
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self) -> None:
|
||||||
self._dict_mapping.pop(id(self._original_dict))
|
self._dict_mapping.pop(id(self._original_dict))
|
||||||
|
|
||||||
def __setitem__(self, key: str, value: Any) -> None:
|
def __setitem__(self, key: str, value: Any) -> None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user