Source code for mac_maker.profile.precheck.precheck_extractor

"""Extractor for a profile's precheck data."""

from pathlib import Path

from mac_maker import config
from mac_maker.ansible_controller.spec import Spec
from mac_maker.profile.precheck import TypePrecheckFileData
from mac_maker.utilities.mixins.text_file import TextFileReader


[docs]class PrecheckExtractor(TextFileReader): """Extractor for a profile's precheck data."""
[docs] def get_precheck_data( self, spec: Spec, ) -> TypePrecheckFileData: """Read a profile's precheck data and return it. :param spec: The provisioning spec instance. :returns: The complete precheck contents. """ workspace_root = Path(spec.workspace_root_path) return TypePrecheckFileData( notes=self.read_text_file(workspace_root / config.PRECHECK['notes']), env=self.read_text_file(workspace_root / config.PRECHECK['env']), )