binmap¶
-
class
binmap.
BaseDescriptor
(name='')¶ Bases:
object
Base class for all descriptors
Parameters: name – Variable name
-
class
binmap.
BinField
(name='')¶ Bases:
binmap.BaseDescriptor
BinField descriptor tries to pack it into a struct before setting the value as a bounds checker
-
class
binmap.
BinmapDataclass
(_BinmapDataclass__binarydata: dataclasses.InitVar = b'')¶ Bases:
object
Dataclass that does the converting to and from binary data
-
frombytes
(value: bytes)¶ Unpacks value to each field :param bytes value: binary string to unpack
-
-
class
binmap.
CalculatedField
(name, function)¶ Bases:
binmap.BinField
CalculatedField calls a function when it’s converted to bytes
Raises: AttributeError – Trying to set the value is not allowed
-
class
binmap.
ConstField
(name='')¶ Bases:
binmap.BinField
ConstField descriptor keeps it’s value
Raises: AttributeError – Since it’s a constant it raises and error when trying to set
-
class
binmap.
EnumField
(name='')¶ Bases:
binmap.BinField
EnumField descriptor uses “enum” to map to and from strings. Accepts both strings and values when setting. Only values that has a corresponding string is allowed.
-
class
binmap.
PaddingField
(name='')¶ Bases:
binmap.BaseDescriptor
PaddingField descriptor is used to “pad” data with values unused for real data
Raises: AttributeError – when trying to read, since it’s only padding.
-
binmap.
autolength
(offset: int = 0) → dataclasses.Field¶ Field generator function for autolength fields
Parameters: offset – offset for the lenght calculation Returns: dataclass field
-
binmap.
calculatedfield
(function: Callable, last=False) → dataclasses.Field¶ Field generator function for calculated fields
Parameters: function (Callable) – function that calculates the field. Returns: dataclass field
-
binmap.
constant
(value: Union[int, float, str]) → dataclasses.Field¶ Field generator function for constant elements
Parameters: value – Constant value for the field. Returns: dataclass field
-
binmap.
enumfield
(enumclass: Union[enum.IntEnum, enum.IntFlag], default: Union[enum.IntEnum, enum.IntFlag, int] = None) → dataclasses.Field¶ Field generator function for enum field
Parameters: - enumclass (IntEnum) – Class with enums.
- default (IntEnum) – default value
Returns: dataclass field
-
binmap.
padding
(length: int = 1) → dataclasses.Field¶ Field generator function for padding elements
Parameters: lenght (int) – Number of bytes of padded field Returns: dataclass field
-
binmap.
stringfield
(length: int = 1, default: bytes = b'') → dataclasses.Field¶ Field generator function for string fields.
Parameters: - lenght (int) – lengt of the string.
- default (bytes) – default value of the string
- fillchar (bytes) – char to pad the string with
Returns: dataclass field