diff --git a/docs/source/changes.md b/docs/source/changes.md index 6184c9a04..8cfff71f3 100644 --- a/docs/source/changes.md +++ b/docs/source/changes.md @@ -49,6 +49,8 @@ releases are available on [PyPI](https://pypi.org/project/pytask) and - {pull}`605` improves checks and CI. - {pull}`609` allows a pending status for tasks. Useful for async backends implemented in pytask-parallel. +- {pull}`611` removes the initial task execution status from + `pytask_execute_task_log_start`. ## 0.4.7 - 2024-03-19 diff --git a/src/_pytask/execute.py b/src/_pytask/execute.py index facd4d233..039c7f9be 100644 --- a/src/_pytask/execute.py +++ b/src/_pytask/execute.py @@ -25,7 +25,6 @@ from _pytask.exceptions import ExecutionError from _pytask.exceptions import NodeLoadError from _pytask.exceptions import NodeNotFoundError -from _pytask.logging_utils import TaskExecutionStatus from _pytask.mark import Mark from _pytask.mark_utils import has_mark from _pytask.node_protocols import PNode @@ -99,9 +98,7 @@ def pytask_execute_build(session: Session) -> bool | None: @hookimpl def pytask_execute_task_protocol(session: Session, task: PTask) -> ExecutionReport: """Follow the protocol to execute each task.""" - session.hook.pytask_execute_task_log_start( - session=session, task=task, status=TaskExecutionStatus.RUNNING - ) + session.hook.pytask_execute_task_log_start(session=session, task=task) try: session.hook.pytask_execute_task_setup(session=session, task=task) session.hook.pytask_execute_task(session=session, task=task) diff --git a/src/_pytask/hookspecs.py b/src/_pytask/hookspecs.py index 4f8bfab9a..02ce07210 100644 --- a/src/_pytask/hookspecs.py +++ b/src/_pytask/hookspecs.py @@ -18,7 +18,6 @@ import click from pluggy import PluginManager - from _pytask.logging_utils import TaskExecutionStatus from _pytask.models import NodeInfo from _pytask.node_protocols import PNode from _pytask.node_protocols import PProvisionalNode @@ -256,9 +255,7 @@ def pytask_execute_task_protocol(session: Session, task: PTask) -> ExecutionRepo @hookspec(firstresult=True) -def pytask_execute_task_log_start( - session: Session, task: PTask, status: TaskExecutionStatus -) -> None: +def pytask_execute_task_log_start(session: Session, task: PTask) -> None: """Start logging of task execution. This hook can be used to provide more verbose output during the execution. diff --git a/src/_pytask/live.py b/src/_pytask/live.py index f5b2f562f..d7686648c 100644 --- a/src/_pytask/live.py +++ b/src/_pytask/live.py @@ -20,12 +20,12 @@ from _pytask.console import console from _pytask.console import format_task_name +from _pytask.logging_utils import TaskExecutionStatus from _pytask.outcomes import CollectionOutcome from _pytask.outcomes import TaskOutcome from _pytask.pluginmanager import hookimpl if TYPE_CHECKING: - from _pytask.logging_utils import TaskExecutionStatus from _pytask.node_protocols import PTask from _pytask.reports import CollectionReport from _pytask.reports import ExecutionReport @@ -151,6 +151,7 @@ class LiveExecution: n_entries_in_table: int verbose: int editor_url_scheme: str + initial_status: TaskExecutionStatus = TaskExecutionStatus.RUNNING sort_final_table: bool = False n_tasks: int | str = "x" _reports: list[_ReportEntry] = field(factory=list) @@ -170,11 +171,9 @@ def pytask_execute_build(self) -> Generator[None, None, None]: return result @hookimpl(tryfirst=True) - def pytask_execute_task_log_start( - self, task: PTask, status: TaskExecutionStatus - ) -> bool: + def pytask_execute_task_log_start(self, task: PTask) -> bool: """Mark a new task as running.""" - self.add_task(new_running_task=task, status=status) + self.add_task(new_running_task=task, status=self.initial_status) return True @hookimpl