# Настройка экспорта в модули
__all__ = ("format_retry_time",)


def format_retry_time(retry_after: int) -> str:
    """
    Форматирование времени повторной попытки в читаемом виде.

    Args:
        retry_after (int): Время в секундах до следующей попытки.

    Returns:
        str: Строка в формате X часов, Y минут, Z секунд.
    """
    hours, remainder = divmod(retry_after, 3600)
    minutes, seconds = divmod(remainder, 60)

    if hours > 0:
        return f"{hours} часов, {minutes} минут, {seconds} секунд"
    elif minutes > 0:
        return f"{minutes} минут, {seconds} секунд"
    else:
        return f"{seconds} секунд"
