Interfaces¶
blake2signer.interfaces
¶
Interfaces: abstract classes to define serializers, encoders and compressors.
CompressorInterface
¶
Bases: ABC
Compressor interface.
Implement your own 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 |
|
default_compression_level: int
property
abstractmethod
¶
Get the default compression level.
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. |
Returns:
Type | Description |
---|---|
bytes
|
Raw compressed data. |
Source code in blake2signer/interfaces.py
94 95 96 97 98 99 100 101 102 103 104 105 106 |
|
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
108 109 110 111 112 113 114 115 116 117 |
|
get_compression_level(level)
¶
Return compression level for the compressor.
It correctly converts the scale (if necessary), and the default value for None.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
level |
typing.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
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
|
scale_compression_level(level)
¶
Scale the compression level to from 1 to 9 to a 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
57 58 59 60 61 62 63 64 65 66 67 68 |
|
EncoderInterface
¶
Bases: ABC
Encoder interface.
Implement your own encoder inheriting from this class.
Note
Verify that the encoder alphabet is ASCII (a check is enforced nevertheless).
Source code in blake2signer/interfaces.py
120 121 122 123 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 |
|
alphabet: bytes
property
abstractmethod
¶
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
149 150 151 152 153 154 155 156 157 158 |
|
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
138 139 140 141 142 143 144 145 146 147 |
|
SerializerInterface
¶
Bases: ABC
Serializer interface.
Implement your own 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 |
typing.Any
|
Data to serialize. |
required |
Other Parameters:
Name | Type | Description |
---|---|---|
**kwargs |
typing.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 |
typing.Any
|
Additional arguments for the serializer. |
Returns:
Type | Description |
---|---|
typing.Any
|
Original data. |
Source code in blake2signer/interfaces.py
30 31 32 33 34 35 36 37 38 39 40 41 42 |
|