# -*- coding: utf-8 -*-
"""Chatterbox Multilingual model dosyalarini models/hf-cache altina indirir.

huggingface_hub baglantisi ara sira kopuyor; bu yuzden birkac kez yeniden denenir.
Daha once indirildiyse hemen biter (onbellekten).
"""
import os
import sys
import time

HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.dirname(HERE)
os.environ["HF_HOME"] = os.path.join(ROOT, "models", "hf-cache")
os.environ.setdefault("HF_HUB_DISABLE_SYMLINKS_WARNING", "1")

from huggingface_hub import snapshot_download  # noqa: E402

PATTERNS = ["ve.pt", "t3_mtl23ls_v2.safetensors", "s3gen.pt",
            "grapheme_mtl_merged_expanded_v1.json", "conds.pt", "Cangjie5_TC.json"]

for attempt in range(1, 8):
    try:
        path = snapshot_download(repo_id="ResembleAI/chatterbox", repo_type="model",
                                 revision="main", allow_patterns=PATTERNS)
        print("OK", path, flush=True)
        sys.exit(0)
    except Exception as e:  # noqa: BLE001
        print("YENIDEN DENENIYOR", attempt, repr(e)[:200], flush=True)
        time.sleep(5)

print("BASARISIZ", flush=True)
sys.exit(1)
