#!/usr/bin/env python3
"""
Fetch artikel random dari WP tiap brand untuk konten Threads.
Output: JSON ke stdout — link artikel untuk tiap akun.
"""
import json, urllib.request, random, base64
from datetime import datetime, timezone, timedelta

def wp_get(url, auth=None):
    req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
    if auth:
        req.add_header('Authorization', f'Basic {auth}')
    try:
        with urllib.request.urlopen(req, timeout=10) as r:
            return json.loads(r.read())
    except:
        return []

# ── Credentials ──
LEIT_AUTH = base64.b64encode(b'bambangbot:zibd dLIV xY8x onP9 39qL hiNr').decode()
TSC_AUTH = base64.b64encode(b'watibot:HDLe Wkuz el12 U2cd MRqT 1z48').decode()

# ── Fetch artikels ──
results = {}

# StudioSoft
posts = wp_get('https://studiosoft.id/wp-json/wp/v2/posts?per_page=10&orderby=date&_fields=title,link')
results['studiosoft'] = [{'title': p['title']['rendered'], 'link': p['link']} for p in posts[:3]] if posts else []

# LEIT
posts = wp_get('https://leitsurabaya.com/wp-json/wp/v2/posts?per_page=10&orderby=date&_fields=title,link', auth=LEIT_AUTH)
results['leit'] = [{'title': p['title']['rendered'], 'link': p['link']} for p in posts[:3]] if posts else []

# TSC
posts = wp_get('https://theskincodeclinic.com/wp-json/wp/v2/posts?per_page=10&orderby=date&_fields=title,link', auth=TSC_AUTH)
results['tsc'] = [{'title': p['title']['rendered'], 'link': p['link']} for p in posts[:3]] if posts else []

# Tslaw — gak punya REST API (?), fallback ke domain
results['tslaw'] = [{'title': 'TTA Law Firm', 'link': 'https://ttalawfirm.id/'}]

# @ukyhandoko — pakai artikel StudioSoft
results['uky'] = results['studiosoft'][:] if results['studiosoft'] else []

# ── Output ──
output = {
    'date': (datetime.now(timezone.utc) + timedelta(hours=7)).strftime('%Y-%m-%d'),
    'articles': results
}
print(json.dumps(output, indent=2, ensure_ascii=False))
