Source code for package_maximizer.analyzers

"""
Analyzers module - Модуль анализаторов результатов.
"""

from __future__ import annotations

from .result_analyzer import ResultAnalyzer

# Available analyzers
__all__ = [
    "ResultAnalyzer",
    "get_analyzer",
    "ANALYZER_REGISTRY",
]

# Analyzer registry for easy access
ANALYZER_REGISTRY = {
    "basic": ResultAnalyzer,
}


[docs] def get_analyzer(analyzer_name: str): """ Получение экземпляра анализатора по имени. Args: analyzer_name: Имя анализатора (регистронезависимое) Returns: Экземпляр анализатора Raises: ValueError: Если анализатор не найден """ analyzer_name = analyzer_name.lower() if analyzer_name not in ANALYZER_REGISTRY: available = ", ".join(ANALYZER_REGISTRY.keys()) raise ValueError( f"Analyzer '{analyzer_name}' not found. Available: {available}" ) return ANALYZER_REGISTRY[analyzer_name]()