From f9f51e7f59d291bb1f199b0dccae3de837f3a3f5 Mon Sep 17 00:00:00 2001 From: Mose Mueller Date: Thu, 1 Feb 2024 14:02:24 +0100 Subject: [PATCH] fixes IonizerServer dependence on removed functions --- .../ionizer_interface/ionizer_server.py | 2 +- .../ionizer_interface/rpc_interface.py | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/pydase_service_base/ionizer_interface/ionizer_server.py b/pydase_service_base/ionizer_interface/ionizer_server.py index a71a5e7..15f6c0c 100644 --- a/pydase_service_base/ionizer_interface/ionizer_server.py +++ b/pydase_service_base/ionizer_interface/ionizer_server.py @@ -25,7 +25,7 @@ class IonizerServer: self.data_service_observer = data_service_observer self.service = self.data_service_observer.state_manager.service self.server = tiqi_rpc.Server( - RPCInterface(self.service, **kwargs), + RPCInterface(self.data_service_observer, **kwargs), host=host, port=port, # type: ignore ) diff --git a/pydase_service_base/ionizer_interface/rpc_interface.py b/pydase_service_base/ionizer_interface/rpc_interface.py index 9867c7a..4117551 100644 --- a/pydase_service_base/ionizer_interface/rpc_interface.py +++ b/pydase_service_base/ionizer_interface/rpc_interface.py @@ -4,6 +4,7 @@ from typing import Any from pydase import DataService from pydase.components import NumberSlider +from pydase.data_service.data_service_observer import DataServiceObserver from pydase.units import Quantity from pydase.utils.helpers import get_object_attr_from_path_list from pydase.version import __version__ @@ -12,8 +13,12 @@ from pydase.version import __version__ class RPCInterface: """RPC interface to be passed to tiqi_rpc.Server to interface with Ionizer.""" - def __init__(self, service: DataService, *args: Any, **kwargs: Any) -> None: - self._service = service + def __init__( + self, data_service_observer: DataServiceObserver, *args: Any, **kwargs: Any + ) -> None: + self._data_service_observer = data_service_observer + self._state_manager = self._data_service_observer.state_manager + self._service = self._state_manager.service async def version(self) -> str: return f"pydase v{__version__}" @@ -69,9 +74,9 @@ class RPCInterface: if isinstance(current_value, Quantity): value = value * current_value.u elif isinstance(current_value, NumberSlider): - parent_path_list.append(attr_name) - attr_name = "value" - self._service.update_DataService_attribute(parent_path_list, attr_name, value) + full_access_path = full_access_path + "value" + + self._state_manager.set_service_attribute_value_by_path(full_access_path, value) async def remote_call(self, full_access_path: str, *args: Any) -> Any: full_access_path_list = full_access_path.split(".")