Перейти к содержанию

StateMachine

State()

Представляет отдельное состояние в FSM-группе.

При использовании внутри StatesGroup, автоматически присваивает уникальное имя в формате 'ИмяКласса:имя_поля'.

Source code in maxapi/context/state_machine.py
def __init__(self) -> None:
    self.name: Optional[str] = None

StatesGroup

Базовый класс для описания группы состояний FSM.

Атрибуты должны быть экземплярами State. Метод states() возвращает список всех состояний в виде строк.

states() classmethod

Получить список всех состояний в формате 'ИмяКласса:имя_состояния'.

Returns:

Type Description
List[str]

Список строковых представлений состояний

Source code in maxapi/context/state_machine.py
@classmethod
def states(cls) -> List[str]:
    """
    Получить список всех состояний в формате 'ИмяКласса:имя_состояния'.

    Returns:
        Список строковых представлений состояний
    """

    return [
        str(getattr(cls, attr))
        for attr in dir(cls)
        if isinstance(getattr(cls, attr), State)
    ]