#!/usr/bin/env python3
"""Busca foto de homem com maos atras da cabeca, relaxando na poltrona."""
import requests, json, os

PEXELS_KEY = "YDqxXGXvOaPQnitSVyxbhghbH49w95DV2fbAkynBjNVvus1TI60Qffdo"

QUERIES = [
    "man hands behind head chair",
    "relaxing man armchair",
    "leaning back chair relaxed",
    "man reclining sofa",
    "cozy relaxing home",
    "sit back relax chair",
    "man arms behind head",
    "man leaning back",
    "relaxed man home sofa",
    "man stretching arms sofa",
]

out_dir = "/opt/mia/workspace/clientes/px3lab/lancamento_photorf2/criativos/pexels_relax"
os.makedirs(out_dir, exist_ok=True)

results = []
seen_ids = set()

for q in QUERIES:
    r = requests.get(
        "https://api.pexels.com/v1/search",
        headers={"Authorization": PEXELS_KEY},
        params={"query": q, "per_page": 15, "orientation": "landscape"},
    )
    if r.status_code != 200:
        print(f"[!] {q}: {r.status_code}")
        continue
    data = r.json()
    for p in data.get("photos", []):
        pid = p["id"]
        if pid in seen_ids:
            continue
        seen_ids.add(pid)
        results.append({
            "id": pid,
            "query": q,
            "photographer": p["photographer"],
            "alt": p.get("alt", ""),
            "url": p["url"],
            "src_large2x": p["src"]["large2x"],
            "src_original": p["src"]["original"],
            "width": p["width"],
            "height": p["height"],
        })

print(f"Total: {len(results)} fotos unicas")

# Salva metadata
with open(f"{out_dir}/results.json", "w") as f:
    json.dump(results, f, indent=2, ensure_ascii=False)

# Baixa todas (large2x)
for i, p in enumerate(results):
    fname = f"{out_dir}/{i:03d}_{p['id']}.jpg"
    if os.path.exists(fname):
        continue
    try:
        img = requests.get(p["src_large2x"], timeout=30)
        with open(fname, "wb") as f:
            f.write(img.content)
        print(f"  [{i:03d}] {p['id']} - {p['alt'][:60]}")
    except Exception as e:
        print(f"  [!] {p['id']}: {e}")

print("Done.")
