"""
Step 2 Option B: Download GLM-OCR model files via ModelScope (recommended for users in China).
Outputs: MODEL_DOWNLOAD=DONE
"""
import os, subprocess, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from _ocr_cfg import OCR_DIR

if not OCR_DIR:
    print("ERROR: OCR_DIR not resolved. Run preflight_workdir.py first.")
    sys.exit(1)

model_dir = os.path.join(OCR_DIR, "models", "GLM-OCR-GGUF")
os.makedirs(model_dir, exist_ok=True)

subprocess.run([sys.executable, "-m", "pip", "install", "modelscope", "-q"], check=True)

from modelscope.hub.file_download import model_file_download

for filename in ["GLM-OCR-Q8_0.gguf", "mmproj-GLM-OCR-Q8_0.gguf"]:
    print(f"Downloading {filename} ...")
    model_file_download("ggml-org/GLM-OCR-GGUF", file_path=filename, local_dir=model_dir)

print("MODEL_DOWNLOAD=DONE")
