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 |
|
compress(data, *, level)
¶
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
93 94 95 96 97 98 99 100 101 102 103 104 105 |
|
decompress(data)
¶
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
107 108 109 110 111 112 113 114 115 116 |
|
default_compression_level()
¶
Get the default compression level.
Source code in blake2signer/interfaces.py
51 52 53 54 |
|
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
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|
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
56 57 58 59 60 61 62 63 64 65 66 67 |
|
EncoderInterface
¶
Bases: ABC
Note
Verify that the encoder alphabet is ASCII (a check is enforced nevertheless).
Encoder interface.
Implement your own encoder inheriting from this class.
Source code in blake2signer/interfaces.py
119 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 |
|
alphabet()
¶
Return the encoder alphabet characters.
This is used to validate that separator characters and flags don't belong to this alphabet to prevent malfunctions.
Source code in blake2signer/interfaces.py
128 129 130 131 132 133 134 135 |
|
decode(data)
¶
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
148 149 150 151 152 153 154 155 156 157 |
|
encode(data)
¶
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
137 138 139 140 141 142 143 144 145 146 |
|
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)
¶
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)
¶
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 |
|