"""
PDF 目录分类实现（已废弃，使用基于LLM的分类器）

注意：此文件已废弃，不再使用基于关键词和正则的分类逻辑。
现在统一使用 file_parse/classification/hierarchy_classifier.py 中的基于LLM的分类器。
"""

# 此文件已废弃，不再使用
# 现在统一使用 file_parse/classification/hierarchy_classifier.py 中的 HierarchyClassifier

from __future__ import annotations

from typing import Any, Dict, List

from ..config.provider import default_config_provider
from ..interfaces import HierarchyClassifier
from ..classification.hierarchy_classifier import HierarchyClassifier as LLMHierarchyClassifier


class PdfHierarchyClassifier(HierarchyClassifier):
    """
    基于层级结构和关键词的目录分类器（已废弃）。
    
    注意：此类已废弃，请使用 file_parse/classification/hierarchy_classifier.py 
    中的 HierarchyClassifier（基于LLM的分类器）。
    """

    def __init__(self) -> None:
        # 已废弃：不再使用基于关键词的分类
        # 现在直接使用基于LLM的分类器
        import warnings
        warnings.warn(
            "PdfHierarchyClassifier 已废弃，请使用 HierarchyClassifier（基于LLM）",
            DeprecationWarning,
            stacklevel=2
        )
        
        # 为了向后兼容，内部使用LLM分类器
        self._llm_classifier = LLMHierarchyClassifier()
        
        self._cfg = default_config_provider
        self._category_mapping: Dict[str, str] = self._cfg.get("categories.mapping", {})

    def classify(self, toc_items: List[Dict[str, Any]], target_level: int) -> Dict[str, Any]:
        """
        分类方法（已废弃，内部委托给LLM分类器）。
        
        注意：此方法已废弃，现在直接使用基于LLM的分类器。
        """
        # 委托给LLM分类器
        return self._llm_classifier.classify(toc_items, target_level)

    async def classify_async(self, toc_items: List[Dict[str, Any]], target_level: int) -> Dict[str, Any]:
        """异步分类包装，直接转发给内部 LLM 分类器。"""
        return await self._llm_classifier.classify_async(toc_items, target_level)







