uds.utilities.enums

Module with common and reused implementation of enums.

Enumerated types (enums) are data types that consists of named values. This module provides extension to aenum package.

Module Contents

Classes

ExtendableEnum

Enum that supports new members adding.

ValidatedEnum

Enum that supports members validation.

ByteEnum

Enum which members are one byte integers (0x00-0xFF) only.

NibbleEnum

Enum which members are one nibble (4 bits) integers (0x0-0xF) only.

class uds.utilities.enums.ExtendableEnum[source]

Bases: aenum.Enum

Inheritance diagram of uds.utilities.enums.ExtendableEnum

Enum that supports new members adding.

classmethod add_member(name, value)[source]

Register a new member.

Parameters:
  • name (str) – Name of a new member.

  • value (Any) – Value of a new member.

Raises:

ValueError – Such name or value is already in use.

Returns:

The new member that was just created.

Return type:

aenum.Enum

class uds.utilities.enums.ValidatedEnum[source]

Bases: aenum.Enum

Inheritance diagram of uds.utilities.enums.ValidatedEnum

Enum that supports members validation.

classmethod is_member(value)[source]

Check whether given argument is a member or a value stored by this Enum.

Parameters:

value (Any) – Value to check.

Returns:

True if given argument is a member or a value of this Enum, else False.

Return type:

bool

classmethod validate_member(value)[source]

Validate whether given argument is a member or a value stored by this Enum.

Parameters:

value (Any) – Value to validate.

Raises:

ValueError – Provided value is not a member neither a value of this Enum.

Return type:

ValidatedEnum

class uds.utilities.enums.ByteEnum[source]

Bases: aenum.IntEnum

Inheritance diagram of uds.utilities.enums.ByteEnum

Enum which members are one byte integers (0x00-0xFF) only.

Initialize self. See help(type(self)) for accurate signature.

class uds.utilities.enums.NibbleEnum[source]

Bases: aenum.IntEnum

Inheritance diagram of uds.utilities.enums.NibbleEnum

Enum which members are one nibble (4 bits) integers (0x0-0xF) only.

Initialize self. See help(type(self)) for accurate signature.