fixes IonizerServer dependence on removed functions

This commit is contained in:
Mose Mueller 2024-02-01 14:02:24 +01:00
parent 5f5f9fbcda
commit f9f51e7f59
2 changed files with 11 additions and 6 deletions

View File

@ -25,7 +25,7 @@ class IonizerServer:
self.data_service_observer = data_service_observer self.data_service_observer = data_service_observer
self.service = self.data_service_observer.state_manager.service self.service = self.data_service_observer.state_manager.service
self.server = tiqi_rpc.Server( self.server = tiqi_rpc.Server(
RPCInterface(self.service, **kwargs), RPCInterface(self.data_service_observer, **kwargs),
host=host, host=host,
port=port, # type: ignore port=port, # type: ignore
) )

View File

@ -4,6 +4,7 @@ from typing import Any
from pydase import DataService from pydase import DataService
from pydase.components import NumberSlider from pydase.components import NumberSlider
from pydase.data_service.data_service_observer import DataServiceObserver
from pydase.units import Quantity from pydase.units import Quantity
from pydase.utils.helpers import get_object_attr_from_path_list from pydase.utils.helpers import get_object_attr_from_path_list
from pydase.version import __version__ from pydase.version import __version__
@ -12,8 +13,12 @@ from pydase.version import __version__
class RPCInterface: class RPCInterface:
"""RPC interface to be passed to tiqi_rpc.Server to interface with Ionizer.""" """RPC interface to be passed to tiqi_rpc.Server to interface with Ionizer."""
def __init__(self, service: DataService, *args: Any, **kwargs: Any) -> None: def __init__(
self._service = service 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: async def version(self) -> str:
return f"pydase v{__version__}" return f"pydase v{__version__}"
@ -69,9 +74,9 @@ class RPCInterface:
if isinstance(current_value, Quantity): if isinstance(current_value, Quantity):
value = value * current_value.u value = value * current_value.u
elif isinstance(current_value, NumberSlider): elif isinstance(current_value, NumberSlider):
parent_path_list.append(attr_name) full_access_path = full_access_path + "value"
attr_name = "value"
self._service.update_DataService_attribute(parent_path_list, attr_name, 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: async def remote_call(self, full_access_path: str, *args: Any) -> Any:
full_access_path_list = full_access_path.split(".") full_access_path_list = full_access_path.split(".")