Source code for cis_interface.serialize.PickleSerialize

from cis_interface import backwards
from cis_interface.serialize.DefaultSerialize import DefaultSerialize


[docs]class PickleSerialize(DefaultSerialize): r"""Class for serializing a python object into a bytes message by pickling. """ @property def serializer_type(self): r"""int: Type of serializer.""" return 4 @property def empty_msg(self): r"""obj: Object indicating empty message.""" return backwards.unicode2bytes('')
[docs] def func_serialize(self, args): r"""Serialize a message. Args: args (obj): Python object to be serialized. Returns: bytes, str: Serialized message. """ out = backwards.pickle.dumps(args) return backwards.unicode2bytes(out)
[docs] def func_deserialize(self, msg): r"""Deserialize a message. Args: msg (str, bytes): Message to be deserialized. Returns: obj: Deserialized Python object. """ if len(msg) == 0: out = self.empty_msg else: out = backwards.pickle.loads(msg) return out