mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-20 00:10:03 +02:00
updates Deserializer (type hints, adding keyword to argument)
This commit is contained in:
parent
ada9dcce4a
commit
1c663e9a2e
@ -1,6 +1,6 @@
|
|||||||
import enum
|
import enum
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, NoReturn, cast
|
from typing import TYPE_CHECKING, Any, NoReturn, cast
|
||||||
|
|
||||||
import pydase
|
import pydase
|
||||||
import pydase.components
|
import pydase.components
|
||||||
@ -9,14 +9,16 @@ import pydase.units as u
|
|||||||
from pydase.utils.helpers import get_component_classes
|
from pydase.utils.helpers import get_component_classes
|
||||||
from pydase.utils.serializer import SerializedObject
|
from pydase.utils.serializer import SerializedObject
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from collections.abc import Callable
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class Deserializer:
|
class Deserializer:
|
||||||
@classmethod
|
@classmethod
|
||||||
def deserialize(cls, serialized_object: SerializedObject) -> Any:
|
def deserialize(cls, serialized_object: SerializedObject) -> Any:
|
||||||
# Main entry point for deserializing objects
|
type_handler: dict[str | None, None | Callable[..., Any]] = {
|
||||||
type_handler = {
|
|
||||||
None: None,
|
None: None,
|
||||||
"int": cls.deserialize_primitive,
|
"int": cls.deserialize_primitive,
|
||||||
"float": cls.deserialize_primitive,
|
"float": cls.deserialize_primitive,
|
||||||
@ -26,7 +28,7 @@ class Deserializer:
|
|||||||
"Quantity": cls.deserialize_quantity,
|
"Quantity": cls.deserialize_quantity,
|
||||||
"Enum": cls.deserialize_enum,
|
"Enum": cls.deserialize_enum,
|
||||||
"ColouredEnum": lambda serialized_object: cls.deserialize_enum(
|
"ColouredEnum": lambda serialized_object: cls.deserialize_enum(
|
||||||
serialized_object, pydase.components.ColouredEnum
|
serialized_object, enum_class=pydase.components.ColouredEnum
|
||||||
),
|
),
|
||||||
"list": cls.deserialize_list,
|
"list": cls.deserialize_list,
|
||||||
"dict": cls.deserialize_dict,
|
"dict": cls.deserialize_dict,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user