"""
ADIM 2 — Sınıflandırma sonucunu (ID → klasör) data/assignments.json'dan okur.

assignments.json formatı:
{
  "folders": ["Klasör1", "Klasör2", ...],   # tam 10 tane
  "assignments": { "<channel_id>": "Klasör1", ... }
}

Bu dosyayı Claude (ben) data/channels.json'ı analiz edip üretir.
"""
from __future__ import annotations

import json
from pathlib import Path

_ASSIGN_FILE = Path(__file__).parent / "data" / "assignments.json"
_cache: dict | None = None


def _load() -> dict:
    global _cache
    if _cache is None:
        if not _ASSIGN_FILE.exists():
            raise FileNotFoundError(
                f"{_ASSIGN_FILE} yok. Önce data/channels.json üretilmeli, "
                "sonra Claude assignments.json'u yazacak."
            )
        _cache = json.loads(_ASSIGN_FILE.read_text(encoding="utf-8"))
    return _cache


def categorize(channel: dict) -> str | None:
    data = _load()
    return data["assignments"].get(str(channel["id"]))
