Interfaces¶
blake2signer.interfaces
¶
Interfaces: abstract classes to define serializers, encoders and compressors.
CompressorInterface
¶
Bases: ABC
Compressor interface.
Implement any compressor inheriting from this class.
Source code in blake2signer/interfaces.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
|
default_compression_level: int
abstractmethod
property
¶
Get the default compression level.
This value is not scaled, it should be the actual default compression level for the compressor.
compress(data, *, level)
abstractmethod
¶
Compress given data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
bytes
|
Data to compress. |
required |
Other Parameters:
Name | Type | Description |
---|---|---|
level |
int
|
Desired compression level adjusted for the compressor. |
Returns:
Type | Description |
---|---|
bytes
|
Raw compressed data. |
Source code in blake2signer/interfaces.py
98 99 100 101 102 103 104 105 106 107 108 109 110 |
|
decompress(data)
abstractmethod
¶
Decompress given compressed data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
bytes
|
Compressed data to decompress. |
required |
Returns:
Type | Description |
---|---|
bytes
|
Original data. |
Source code in blake2signer/interfaces.py
112 113 114 115 116 117 118 119 120 121 |
|
get_compression_level(level)
¶
Return the compression level for the compressor.
It correctly scales the level if necessary, and returns the corresponding default value if no level is indicated.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
level |
Optional[int]
|
Desired compression level from 1 (least compressed) to 9 (most compressed), or None for the default. |
required |
Returns:
Type | Description |
---|---|
int
|
Correct compression level for the compressor. |
Raises:
Type | Description |
---|---|
CompressionError
|
The compression level is out of bounds. |
Source code in blake2signer/interfaces.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
|
scale_compression_level(level)
¶
Scale the compression level from 1 to 9 to a valid value for the compressor.
Override this method if the compressor requires scaling the level.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
level |
int
|
Desired compression level from 1 to 9. |
required |
Returns:
Type | Description |
---|---|
int
|
Scaled compression level for the compressor. |
Source code in blake2signer/interfaces.py
61 62 63 64 65 66 67 68 69 70 71 72 |
|
EncoderInterface
¶
Bases: ABC
Encoder interface.
Implement any encoder inheriting from this class.
Note
Make sure that the encoder alphabet is ASCII (a check is enforced nevertheless).
Source code in blake2signer/interfaces.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
|
alphabet: bytes
abstractmethod
property
¶
Return the encoder alphabet characters.
This is used to validate that separator characters and flags don't belong to this alphabet to prevent malfunctions.
decode(data)
abstractmethod
¶
Decode given encoded data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
bytes
|
Encoded data to decode. |
required |
Returns:
Type | Description |
---|---|
bytes
|
Original data. |
Source code in blake2signer/interfaces.py
153 154 155 156 157 158 159 160 161 162 |
|
encode(data)
abstractmethod
¶
Encode given data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
bytes
|
Data to encode. |
required |
Returns:
Type | Description |
---|---|
bytes
|
Encoded data. |
Source code in blake2signer/interfaces.py
142 143 144 145 146 147 148 149 150 151 |
|
SerializerInterface
¶
Bases: ABC
Serializer interface.
Implement any serializer inheriting from this class.
Source code in blake2signer/interfaces.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
serialize(data, **kwargs)
abstractmethod
¶
Serialize given data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
Any
|
Data to serialize. |
required |
Other Parameters:
Name | Type | Description |
---|---|---|
**kwargs |
Any
|
Additional arguments for the serializer. |
Returns:
Type | Description |
---|---|
bytes
|
Serialized data |
Source code in blake2signer/interfaces.py
16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
unserialize(data, **kwargs)
abstractmethod
¶
Unserialize given serialized data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
bytes
|
Serialized data to unserialize. |
required |
Other Parameters:
Name | Type | Description |
---|---|---|
**kwargs |
Any
|
Additional arguments for the serializer. |
Returns:
Type | Description |
---|---|
Any
|
Original data. |
Source code in blake2signer/interfaces.py
30 31 32 33 34 35 36 37 38 39 40 41 42 |
|