from abc import (
    ABCMeta,
)

from function_tools.presenters import (
    ResultPresenter,
)


class WebEduResultPresenter(ResultPresenter, metaclass=ABCMeta):
    """Базовый класс презентеров результатов работы функций продуктов Образования.

    Предоставляет базовую функциональность для форматирования и представления
    результатов выполнения функций в контексте образовательных продуктов.
    Наследует возможности ResultPresenter и адаптирует их для специфики
    образовательной системы.

    Основные возможности:
    - Форматирование результатов выполнения функций
    - Адаптация данных для различных потребителей
    - Поддержка различных форматов вывода
    - Интеграция с системой отчетности

    Note:
        - Является абстрактным классом
        - Требует реализации в конкретных презентерах
        - Поддерживает различные форматы представления данных
        - Учитывает специфику образовательных данных
        - Интегрируется с другими компонентами системы
        - Обеспечивает единообразное представление результатов


    See Also:
        - ResultPresenter: базовый класс для презентеров результатов
        - WebEduRunner: исполнитель функций образовательных продуктов
        - WebEduRunnerManager: менеджер исполнителей функций
    """
