dataclass_mixins
¶
Module containing helper mixins for dataclasses.
AsDictionaryMixin
¶
Functionality for a class’s public attributes to get cast to a dictionary.
to_dict
¶
Transform public attributes of this class to dictionary.
Examples:
>>> import dataclasses
>>> from tm_devices.helpers.dataclass_mixins import AsDictionaryMixin
>>> ClassA = dataclasses.make_dataclass("A",["a","_b", "c"], bases=(AsDictionaryMixin,))
>>> foo = ClassA("public", "secret", 5)
>>> foo.to_dict()
{'a': 'public', 'c': 5}
>>> vars(foo) # see how this differs from the builtin function vars
{'a': 'public', '_b': 'secret', 'c': 5}
AsDictionaryUseEnumNameUseCustEnumStrValueMixin
¶
Bases: AsDictionaryMixin
flowchart LR
tm_devices.helpers.dataclass_mixins.AsDictionaryUseEnumNameUseCustEnumStrValueMixin[AsDictionaryUseEnumNameUseCustEnumStrValueMixin]
tm_devices.helpers.dataclass_mixins.AsDictionaryMixin[AsDictionaryMixin]
tm_devices.helpers.dataclass_mixins.AsDictionaryMixin --> tm_devices.helpers.dataclass_mixins.AsDictionaryUseEnumNameUseCustEnumStrValueMixin
click tm_devices.helpers.dataclass_mixins.AsDictionaryUseEnumNameUseCustEnumStrValueMixin href "" "tm_devices.helpers.dataclass_mixins.AsDictionaryUseEnumNameUseCustEnumStrValueMixin"
click tm_devices.helpers.dataclass_mixins.AsDictionaryMixin href "" "tm_devices.helpers.dataclass_mixins.AsDictionaryMixin"
Format the class’s public attributes as a dictionary with string values from enums.
For Enum types, this class will use the name property.
For CustomStrEnum types, this class will use
the value property.
to_dict
¶
Transform public attributes of this class to dictionary.
Examples:
>>> import dataclasses
>>> from tm_devices.helpers.dataclass_mixins import AsDictionaryMixin
>>> ClassA = dataclasses.make_dataclass("A",["a","_b", "c"], bases=(AsDictionaryMixin,))
>>> foo = ClassA("public", "secret", 5)
>>> foo.to_dict()
{'a': 'public', 'c': 5}
>>> vars(foo) # see how this differs from the builtin function vars
{'a': 'public', '_b': 'secret', 'c': 5}