Source code for pi_portal.installation.steps.bases.base_step

"""StepBase class."""

import logging
from typing import List, Type

from pi_portal.installation.actions.bases import base_action


[docs]class StepBase: """Generic installer step. :param log: The logging instance for this step. """ actions: List[Type[base_action.ActionBase]] log: logging.Logger logging_begin_message: str logging_end_message: str
[docs] def __init__( self, log: logging.Logger, ): self.log = log
[docs] def invoke(self) -> None: """Invoke this step.""" self.log.info(self.logging_begin_message) for action_class in self.actions: action = action_class(self.log) action.invoke() self.log.info(self.logging_end_message)