base.py
1 """ 2 Serialize module 3 """ 4 5 6 class Serialize: 7 """ 8 Base class for Serialize instances. This class serializes data to files, streams and bytes. 9 """ 10 11 def load(self, path): 12 """ 13 Loads data from path. 14 15 Args: 16 path: input path 17 18 Returns: 19 deserialized data 20 """ 21 22 with open(path, "rb") as handle: 23 return self.loadstream(handle) 24 25 def save(self, data, path): 26 """ 27 Saves data to path. 28 29 Args: 30 data: data to save 31 path: output path 32 """ 33 34 with open(path, "wb") as handle: 35 self.savestream(data, handle) 36 37 def loadstream(self, stream): 38 """ 39 Loads data from stream. 40 41 Args: 42 stream: input stream 43 44 Returns: 45 deserialized data 46 """ 47 48 raise NotImplementedError 49 50 def savestream(self, data, stream): 51 """ 52 Saves data to stream. 53 54 Args: 55 data: data to save 56 stream: output stream 57 """ 58 59 raise NotImplementedError 60 61 def loadbytes(self, data): 62 """ 63 Loads data from bytes. 64 65 Args: 66 data: input bytes 67 68 Returns: 69 deserialized data 70 """ 71 72 raise NotImplementedError 73 74 def savebytes(self, data): 75 """ 76 Saves data as bytes. 77 78 Args: 79 data: data to save 80 81 Returns: 82 serialized data 83 """ 84 85 raise NotImplementedError