Source code for pi_portal.modules.tasks.task.flag_set_value

"""A task to set a flag's value."""

from dataclasses import dataclass

from pi_portal.modules.tasks import enums, flags
from pi_portal.modules.tasks.task.bases import task_args_base, task_base
from pi_portal.modules.tasks.task.metaclasses.meta_task import MetaTask
from typing_extensions import TypeAlias

ApiEnabled = True


[docs]@dataclass class Args(task_args_base.TaskArgsBase): """Arguments for set flag value tasks.""" flag_name: str value: bool def __post_init__(self) -> None: if not hasattr(flags.Flags, self.flag_name): raise ValueError(f"Invalid flag: '{self.flag_name}' !")
ReturnType: TypeAlias = None TaskType = enums.TaskType.FLAG_SET_VALUE
[docs]class Task( task_base.TaskBase[Args, ReturnType], metaclass=MetaTask, task_type=TaskType, ): """A task to set a flag's value."""