| 123456789101112131415161718192021222324252627282930313233 | 
							- import logging
 - from functools import lru_cache
 - from pathlib import Path
 - from typing import Any
 - 
 - import yaml  # type: ignore
 - from yaml import YAMLError
 - 
 - logger = logging.getLogger(__name__)
 - 
 - 
 - def _load_yaml_file(*, file_path: str):
 -     if not file_path or not Path(file_path).exists():
 -         raise FileNotFoundError(f"File not found: {file_path}")
 - 
 -     with open(file_path, encoding="utf-8") as yaml_file:
 -         try:
 -             yaml_content = yaml.safe_load(yaml_file)
 -             return yaml_content
 -         except Exception as e:
 -             raise YAMLError(f"Failed to load YAML file {file_path}: {e}") from e
 - 
 - 
 - @lru_cache(maxsize=128)
 - def load_yaml_file_cached(file_path: str) -> Any:
 -     """
 -     Cached version of load_yaml_file for static configuration files.
 -     Only use for files that don't change during runtime (e.g., position files)
 - 
 -     :param file_path: the path of the YAML file
 -     :return: an object of the YAML content
 -     """
 -     return _load_yaml_file(file_path=file_path)
 
 
  |