file_stack_analysis.py
1 # Python Imports 2 import logging 3 from typing import List 4 5 from pydantic import BaseModel, ConfigDict 6 7 # Project Imports 8 from src.analysis.mesh_analysis.readers.file_reader import FileReader 9 from src.analysis.utils import file_utils 10 11 logger = logging.getLogger(__name__) 12 13 14 class FileStackAnalysis(BaseModel): 15 model_config = ConfigDict(arbitrary_types_allowed=True) 16 reader: FileReader 17 18 def get_number_nodes(self, stateful_sets: List[str]) -> List[int]: 19 files = file_utils.get_files_from_folder_path( 20 self.reader._folder_path, extension="*.log" 21 ).ok_value 22 23 return [ 24 len(list(filter(lambda item: item.startswith(stateful_set_prefix), files))) 25 for stateful_set_prefix in stateful_sets 26 ]