.. _doot.control.loaders.task: ========================= doot.control.loaders.task ========================= .. py:module:: doot.control.loaders.task Functions --------- .. autoapisummary:: doot.control.loaders.task.apply_group_and_source Classes ------- .. autoapisummary:: doot.control.loaders.task.TaskLoader Module Contents =============== .. py:function:: apply_group_and_source(group, source, x) -> insert the group and source into a task definition dict a task is: [[tasks.GROUP]]: name = TASKNAME ... So the group isn't actually part of the dict. This fn adds it in, plus where the dict came from .. _doot.control.loaders.task.TaskLoader: .. py:class:: TaskLoader load toml defined tasks, and create doot.structs.TaskSpecs of them .. py:attribute:: tasks :type: dict[str | doot.workflow._interface.TaskName_p, doot.workflow._interface.TaskSpec_i] .. py:attribute:: failures :type: dict[str | pathlib.Path, list] .. py:attribute:: cmd_names :type: set[str] .. py:attribute:: task_builders :type: dict[str, Any] .. py:attribute:: extra :type: jgdv.Maybe[jgdv.structs.chainguard.ChainGuard | dict] .. py:attribute:: exit_on_load_failures :type: bool .. py:attribute:: factory :type: doot.workflow._interface.TaskFactory_p .. py:method:: setup(plugins: jgdv.structs.chainguard.ChainGuard, extra: jgdv.Maybe[jgdv.structs.chainguard.ChainGuard] = None) -> Self .. py:method:: load() -> jgdv.structs.chainguard.ChainGuard .. py:method:: _get_raw_specs_from_data(data: dict, source: pathlib.Path | Literal['(extra)']) -> list[dict] extract raw task descriptions from a toplevel tasks dict, with no format checking. expects the dict to be { group_key : [ task_dict ] } .. py:method:: _load_specs_from_path(path: pathlib.Path) -> None load a config file defined task_sources of tasks .. py:method:: _build_task_specs(specs: list[dict], source: jgdv.Maybe[str | pathlib.Path] = None) -> None convert raw dicts into TaskSpec objects .. py:method:: _load_location_updates(data: list[jgdv.structs.chainguard.ChainGuard], source: str | pathlib.Path) -> None