#!/usr/bin/env python3
"""Baixa 2 fotos Pexels pros criativos v2:
- bg_copy1_pai_sozinho.png : pai adulto meia-idade em ambiente noturno festivo
- bg_copy10_corpo_inteiro.png : formando corpo inteiro com toga
"""
import os, sys, requests
from pathlib import Path

PEXELS_KEY = "YDqxXGXvOaPQnitSVyxbhghbH49w95DV2fbAkynBjNVvus1TI60Qffdo"
BGS = Path('/opt/mia/workspace/clientes/px3lab/lancamento_photorf2/criativos/bgs')
BGS.mkdir(parents=True, exist_ok=True)

# (query, orientation, dest, per_page)
JOBS = [
    ('bg_copy1_pai_sozinho.png', 'mature man portrait suit dark background', 'square', 15),
    ('bg_copy10_corpo_inteiro.png', 'graduation gown full body', 'portrait', 15),
]


def buscar(query, orientation, per_page):
    headers = {'Authorization': PEXELS_KEY}
    r = requests.get(
        'https://api.pexels.com/v1/search',
        headers=headers,
        params={'query': query, 'orientation': orientation, 'per_page': per_page, 'size': 'large'},
        timeout=30,
    )
    r.raise_for_status()
    return r.json()


def baixar(url, dest):
    r = requests.get(url, timeout=60)
    r.raise_for_status()
    Path(dest).write_bytes(r.content)
    return len(r.content)


if __name__ == '__main__':
    for filename, query, orient, per_page in JOBS:
        print(f'\n=== {filename} :: "{query}" ({orient}) ===')
        data = buscar(query, orient, per_page)
        photos = data.get('photos', [])
        if not photos:
            print(f'  FAIL: sem fotos')
            continue
        for i, ph in enumerate(photos[:per_page]):
            print(f'  {i}: id={ph["id"]} {ph["width"]}x{ph["height"]} por={ph["photographer"]}')
            print(f'     url={ph["url"]}')
