From 805e2701070a05bdb6d77aad6664388ecc5baf2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Thu, 21 Dec 2023 10:03:40 +0100 Subject: [PATCH] updates sio_setup to not expect DataService in the parent path --- src/pydase/server/web_server/sio_setup.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pydase/server/web_server/sio_setup.py b/src/pydase/server/web_server/sio_setup.py index 7759b9c..b79793e 100644 --- a/src/pydase/server/web_server/sio_setup.py +++ b/src/pydase/server/web_server/sio_setup.py @@ -156,8 +156,8 @@ def setup_sio_events(sio: socketio.AsyncServer, state_manager: StateManager) -> @sio.event def set_attribute(sid: str, data: UpdateDict) -> Any: logger.debug("Received frontend update: %s", data) - path_list = [*data["parent_path"].split("."), data["name"]] - path_list.remove("DataService") # always at the start, does not do anything + parent_path = data["parent_path"].split(".") + path_list = [element for element in parent_path if element] + [data["name"]] path = ".".join(path_list) return state_manager.set_service_attribute_value_by_path( path=path, value=data["value"] @@ -166,8 +166,8 @@ def setup_sio_events(sio: socketio.AsyncServer, state_manager: StateManager) -> @sio.event def run_method(sid: str, data: RunMethodDict) -> Any: logger.debug("Running method: %s", data) - path_list = [*data["parent_path"].split("."), data["name"]] - path_list.remove("DataService") # always at the start, does not do anything + parent_path = data["parent_path"].split(".") + path_list = [element for element in parent_path if element] + [data["name"]] method = get_object_attr_from_path_list(state_manager.service, path_list) return process_callable_attribute(method, data["kwargs"]) @@ -179,7 +179,6 @@ def setup_sio_events(sio: socketio.AsyncServer, state_manager: StateManager) -> data["config_option"], data["value"], ) - path_list.pop(0) # remove first entry (specifies root object, not needed) def setup_logging_handler(sio: socketio.AsyncServer) -> None: