binmap¶
-
class
binmap.BaseDescriptor(name='')¶ Bases:
objectBase class for all descriptors
Parameters: name – Variable name
-
class
binmap.BinField(name='')¶ Bases:
binmap.BaseDescriptorBinField 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:
objectDataclass 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.BinFieldCalculatedField 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.BinFieldConstField 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.BinFieldEnumField 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.BaseDescriptorPaddingField 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