#!/usr/bin/env python3
"""Upload featured image untuk post desain logo + set ke post"""

import base64, json, os, urllib.request

WP_URL = "https://dmark.id"
WP_AUTH = base64.b64encode(b"bambangbot:fMqR O6jE Tj7t nvqh AMjv PP1V").decode()
WP = os.path.expanduser("~/.openclaw/workspace-atun")

POST_ID = 3140
FILEPATH = os.path.join(WP, "featured_logo_desain_profesional.webp")
ALT_TEXT = "Peralatan dan alat tulis untuk mendesain logo profesional branding bisnis"

# Upload media
with open(FILEPATH, "rb") as f:
    img_data = f.read()

boundary = "----" + os.urandom(8).hex()
body = bytearray()
body.extend(f"--{boundary}\r\n".encode())
body.extend(b'Content-Disposition: form-data; name="file"; filename="featured_logo_desain_profesional.webp"\r\n')
body.extend(b"Content-Type: image/webp\r\n")
body.extend(b"\r\n")
body.extend(img_data)
body.extend(f"\r\n--{boundary}--\r\n".encode())

req = urllib.request.Request(
    f"{WP_URL}/wp-json/wp/v2/media",
    data=bytes(body),
    headers={
        "Authorization": f"Basic {WP_AUTH}",
        "Content-Type": f"multipart/form-data; boundary={boundary}",
        "User-Agent": "Mozilla/5.0"
    },
    method="POST"
)
with urllib.request.urlopen(req, timeout=30) as r:
    resp = json.loads(r.read())
    media_id = resp["id"]
    media_url = resp.get("source_url", "")
    print(f"✅ Upload media ID={media_id}")
    print(f"   URL: {media_url}")

# Update alt text
body2 = json.dumps({"alt_text": ALT_TEXT}).encode()
req2 = urllib.request.Request(
    f"{WP_URL}/wp-json/wp/v2/media/{media_id}",
    data=body2,
    headers={
        "Authorization": f"Basic {WP_AUTH}",
        "Content-Type": "application/json",
        "User-Agent": "Mozilla/5.0"
    },
    method="POST"
)
with urllib.request.urlopen(req2, timeout=15) as r:
    print(f"✅ Alt text set")

# Set featured_media ke post
body3 = json.dumps({"featured_media": media_id}).encode()
req3 = urllib.request.Request(
    f"{WP_URL}/wp-json/wp/v2/posts/{POST_ID}",
    data=body3,
    headers={
        "Authorization": f"Basic {WP_AUTH}",
        "Content-Type": "application/json",
        "User-Agent": "Mozilla/5.0"
    },
    method="POST"
)
with urllib.request.urlopen(req3, timeout=15) as r:
    print(f"✅ Featured image set ke post #{POST_ID}")

print(f"\n🔗 https://www.dmark.id/desain-logo-profesional-investasi-visual-yang-tidak-boleh-asal-asalan/")
