"""Утилиты для загрузки данных в конвейер обработки."""
import json
import logging
from typing import Any, Dict

logger = logging.getLogger(__name__)


def load_prompt_file(filepath: str) -> Dict[str, Dict[str, Any]]:
    """Загружает JSON-файл с описаниями промптов."""
    logger.info('Loading prompt file from %s', filepath)
    try:
        with open(filepath, 'r', encoding='utf-8') as file_prompt:
            return json.load(file_prompt)
    except Exception as error:
        logger.error('Error loading prompt file: %s', str(error))
        raise


def load_jira_file(filepath: str) -> str:
    """Загружает данные из Jira (.txt файл)"""
    logger.info('Loading Jira file from %s', filepath)
    try:
        with open(filepath, 'r', encoding='utf-8') as file_jira:
            return file_jira.read()
    except Exception as error:
        logger.error('Error loading Jira file: %s', str(error))
        raise


def make_user_question(title: str, page_name: str, jira: str) -> str:
    """Формирует вопрос пользователя по такому шаблону: Напиши мне {title} для
    {page_name} по такой бизнес постановке:{jira}"""
    return f'Напиши мне {title} для {page_name} по такой бизнес постановке:\n{jira}'
