Merge pull request #149 from tiqi-group/feat/allow_monkey_patching_api_endpoints

feat: allow monkey patching serilization methods for api endpoints
This commit is contained in:
Mose Müller 2024-07-31 09:48:29 +02:00 committed by GitHub
commit 4a9dba30d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,12 +1,15 @@
from typing import Any
import pydase.utils.serialization.deserializer
import pydase.utils.serialization.serializer
from pydase.data_service.state_manager import StateManager
from pydase.server.web_server.sio_setup import TriggerMethodDict, UpdateDict
from pydase.utils.helpers import get_object_attr_from_path
from pydase.utils.serialization.deserializer import loads
from pydase.utils.serialization.serializer import Serializer, dump
from pydase.utils.serialization.types import SerializedObject
loads = pydase.utils.serialization.deserializer.loads
Serializer = pydase.utils.serialization.serializer.Serializer
def update_value(state_manager: StateManager, data: UpdateDict) -> None:
path = data["access_path"]
@ -32,4 +35,4 @@ def trigger_method(state_manager: StateManager, data: TriggerMethodDict) -> Any:
serialized_kwargs = data.get("kwargs", None)
kwargs: dict[str, Any] = loads(serialized_kwargs) if serialized_kwargs else {}
return dump(method(*args, **kwargs))
return Serializer.serialize_object(method(*args, **kwargs))