#!/bin/bash
# Publish 5 Honda articles to dasindonesia.com via WP REST API
# Using curl directly for reliability

WP_URL="https://dasindonesia.com/wp-json/wp/v2"
AUTH="bambangbot:u3a1 G2pQ 3SWY f0zI OlGP YAjU"
BASE="/home/mantapman/.hermes/profiles/atun/workspace"

echo "============================================="
echo "🚗 Publishing 5 Honda Articles to DAS website"
echo "============================================="

# 1. Upload feature image once
echo ""
echo "📤 Uploading feature image..."
IMG_ID=$(curl -s --max-time 120 -u "$AUTH" \
  -X POST "${WP_URL}/media" \
  -F "file=@${BASE}/das_honda_feature.png" \
  -F "alt=Logo Honda — DAS Bengkel Indonesia Spesialis Engine Overhaul" | python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('id',''))" 2>/dev/null)
echo "   Image ID: $IMG_ID"

# 2. Publish articles
ARTICLES=(
  "Honda Engine Overhaul: Kapan dan Mengapa Mobil Honda Anda Butuh Overhaul Total?|honda-engine-overhaul-kapan-dan-mengapa|Ketahui tanda-tanda mobil Honda Anda perlu overhaul mesin, proses detailnya, dan manfaat memilih spesialis seperti DAS Bengkel Indonesia untuk hasil maksimal.|${BASE}/das_artikel_honda_1.md"
  "7 Masalah Mesin Honda Paling Umum — Cara Deteksi & Solusinya|7-masalah-mesin-honda-paling-umum|Kenali 7 masalah umum mesin Honda seperti knocking, overheat, dan oli bocor. Lengkap dengan cara diagnosa awal dan solusi dari DAS Bengkel Indonesia.|${BASE}/das_artikel_honda_2.md"
  "Panduan Servis Rutin Honda: Jadwal, Biaya, dan Tips dari Teknisi|panduan-servis-rutin-honda-jadwal-biaya-tips|Panduan lengkap servis rutin mobil Honda — dari ganti oli sampai overhaul. Lengkap dengan jadwal, biaya estimasi, dan tips dari mekanik DAS Bengkel Indonesia.|${BASE}/das_artikel_honda_3.md"
  "Honda VTEC: Cara Kerja, Masalah Umum, dan Tips Merawat Teknologi Ikonik Ini|honda-vtec-cara-kerja-masalah-umum-tips-merawat|Pelajari cara kerja teknologi VTEC Honda, masalah yang sering muncul, dan tips perawatan agar performa mesin tetap optimal. Ditulis oleh teknisi DAS Bengkel Indonesia.|${BASE}/das_artikel_honda_4.md"
  "10 Tips Merawat Mobil Honda Agar Awet Sampai 300.000 Km Tanpa Overhaul|10-tips-merawat-mobil-honda-awet-300-ribu-km|10 tips merawat mobil Honda dari teknisi DAS Bengkel Indonesia. Tanpa perlu jadi montir, Anda bisa bikin Civic, CR-V, atau Brio tetap awet sampai 300.000 km.|${BASE}/das_artikel_honda_5.md"
)

COUNT=0
for ENTRY in "${ARTICLES[@]}"; do
  COUNT=$((COUNT+1))
  
  # Extract fields
  TITLE=$(echo "$ENTRY" | cut -d'|' -f1)
  SLUG=$(echo "$ENTRY" | cut -d'|' -f2)
  META=$(echo "$ENTRY" | cut -d'|' -f3)
  FILE=$(echo "$ENTRY" | cut -d'|' -f4)
  
  echo ""
  echo "[$COUNT/5] Publishing: ${TITLE:0:60}..."
  
  # Read file and escape content for JSON
  # Remove the first line (H1 title) and meta description line
  CONTENT=$(tail -n +2 "$FILE" | sed '/^\*\*Meta Description:/d')
  
  # Build JSON payload
  JSON=$(cat <<JSONEOF
{
  "title": $(echo "$TITLE" | python3 -c "import json,sys; print(json.dumps(sys.stdin.read().strip()))"),
  "slug": "$SLUG",
  "status": "publish",
  "categories": [7],
  "tags": [359, 623],
  "featured_media": $IMG_ID,
  "excerpt": $(echo "$META" | python3 -c "import json,sys; print(json.dumps(sys.stdin.read().strip()))"),
  "meta": {
    "_yoast_wpseo_title": $(echo "$TITLE" | python3 -c "import json,sys; print(json.dumps(sys.stdin.read().strip()))"),
    "_yoast_wpseo_metadesc": $(echo "$META" | python3 -c "import json,sys; print(json.dumps(sys.stdin.read().strip()))"),
    "_yoast_wpseo_focuskw": "mobil Honda"
  },
  "content": $(echo "$CONTENT" | python3 -c "
import json, sys, re, html
content = sys.stdin.read()
# Convert markdown to simple HTML
lines = content.split('\n')
html_parts = []
for line in lines:
    s = line.strip()
    if not s:
        continue
    if s.startswith('## '):
        html_parts.append(f'<h2>{html.escape(s[3:])}</h2>')
    elif s.startswith('### '):
        html_parts.append(f'<h3>{html.escape(s[4:])}</h3>')
    elif s.startswith('- '):
        text = html.escape(s[2:])
        text = re.sub(r'\*\*(.+?)\*\*', r'<strong>\1</strong>', text)
        html_parts.append(f'<p>• {text}</p>')
    elif re.match(r'^\d+[.)] ', s):
        text = re.sub(r'^\d+[.)] ', '', s)
        text = html.escape(text)
        text = re.sub(r'\*\*(.+?)\*\*', r'<strong>\1</strong>', text)
        html_parts.append(f'<p>{text}</p>')
    else:
        text = html.escape(s)
        text = re.sub(r'\*\*(.+?)\*\*', r'<strong>\1</strong>', text)
        html_parts.append(f'<p>{text}</p>')
full = '\n'.join(html_parts)
print(json.dumps(full))
")
}
JSONEOF

  # Send via curl with 120s timeout  
  RESULT=$(curl -s --max-time 120 -u "$AUTH" \
    -X POST "${WP_URL}/posts" \
    -H "Content-Type: application/json" \
    -d "$JSON" 2>&1)
  
  # Check response
  POST_ID=$(echo "$RESULT" | python3 -c "import json,sys; d=json.load(sys.stdin) if sys.stdin.read(1) else None; print(d.get('id','FAIL'))" 2>/dev/null)
  if [ "$POST_ID" != "FAIL" ] 2>/dev/null; then
    LINK=$(echo "$RESULT" | python3 -c "import json,sys; d=json.load(sys.stdin) if True else None; print(d.get('link',''))" 2>/dev/null)
    echo "   ✅ ID: $POST_ID"
    echo "   🔗 $LINK"
  else
    echo "   ❌ Response: $(echo "$RESULT" | head -c 300)"
  fi
  
  sleep 2
done

echo ""
echo "============================================="
echo "✅ Selesai! $COUNT artikel Honda dipublikasikan."
echo "============================================="
