klipper_utils.klipper_choice

Klipper config file object helpers.

class klipper_utils.klipper_choice.KlipperChoice(new_class_name, /, names, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Base class for Klipper configuration that has a predetermined list of choices.

This base class is used to create a list of choices for Klipper’s config.getchoice() function. The extending class name determines the configuration name in snake_case format. The enum values define the available choices for the configuration.

Example of Klipper’s configuration file:

[some section name]
class_name: enum_name
abstractmethod classmethod get_default()

Get the default value for the Klipper config.

Returns:

The default choice.

Return type:

T

classmethod get_klipper_choices()

Get all values choices as string, i.e. the enum names.

Returns:

List of enum names in lower case.

Return type:

list[str]

classmethod get_value(config)

Get the config value for the Klipper config.

T: TypeVar

The generic type parameter for this function, bound to KlipperChoice.

Parameters:

config (ConfigWrapper) – Klipper config object.

Returns:

The value.

Return type:

T