/ src / python / txtai / database / encoder / serialize.py
serialize.py
 1  """
 2  SerializeEncoder module
 3  """
 4  
 5  from ...serialize import SerializeFactory
 6  
 7  from .base import Encoder
 8  
 9  
10  class SerializeEncoder(Encoder):
11      """
12      Encodes and decodes objects using the internal serialize package.
13      """
14  
15      def __init__(self, method):
16          # Parent constructor
17          super().__init__()
18  
19          # Pickle serialization
20          self.serializer = SerializeFactory.create(method)
21  
22      def encode(self, obj):
23          # Pickle object
24          return self.serializer.savebytes(obj)
25  
26      def decode(self, data):
27          # Unpickle to object
28          return self.serializer.loadbytes(data)