Source code for soupsavvy.operations.serialization

"""Module with all serialization operations."""

from soupsavvy.base import BaseOperation
from soupsavvy.interfaces import JSONSerializable


[docs] class JSON(BaseOperation): """ Operation to serialize an object to JSON format. Argument to `execute` method must implement `JSONSerializable` protocol: `json` method that returns a dictionary. Common use case is to serialize BaseModel instance. Example ------- >>> ssv_model = Model.find(element) ... serializer = JSON() ... json_data = serializer.execute(ssv_model) "{'field1': 'value1', 'field2': 'value2'}" """ def _execute(self, obj: JSONSerializable) -> dict: return obj.json() def __eq__(self, other): if not isinstance(other, self.__class__): return NotImplemented return True