#!/bin/bash
OUT="/tmp/cdn-images/reference/symbols"
SUCCESS=0
FAIL=0

download_svg_convert() {
    local name="$1"
    local url="$2"
    local tmpfile="$OUT/${name}.tmp"
    
    echo "--- Downloading: $name ---"
    curl -sL -o "$tmpfile" "$url"
    
    ftype=$(file -b "$tmpfile")
    if echo "$ftype" | grep -qi "svg\|xml\|text"; then
        # It's SVG, convert to PNG
        rsvg-convert -w 500 "$tmpfile" -o "$OUT/${name}.png" 2>/dev/null
        if [ $? -eq 0 ] && [ -s "$OUT/${name}.png" ]; then
            rm "$tmpfile"
            echo "  SUCCESS (SVG->PNG): $name.png ($(file -b "$OUT/${name}.png"))"
            SUCCESS=$((SUCCESS+1))
            return 0
        else
            echo "  FAIL: rsvg-convert failed for $name"
            rm -f "$tmpfile" "$OUT/${name}.png"
            FAIL=$((FAIL+1))
            return 1
        fi
    elif echo "$ftype" | grep -qi "png\|jpeg\|image"; then
        mv "$tmpfile" "$OUT/${name}.png"
        echo "  SUCCESS (direct image): $name.png ($(file -b "$OUT/${name}.png"))"
        SUCCESS=$((SUCCESS+1))
        return 0
    else
        echo "  FAIL: Unknown file type: $ftype"
        rm -f "$tmpfile"
        FAIL=$((FAIL+1))
        return 1
    fi
}

# Helper to get direct Wikimedia file URL from filename
wm_url() {
    # Use the Special:FilePath redirect
    echo "https://upload.wikimedia.org/wikipedia/commons/$(python3 -c "
import hashlib, sys, urllib.parse
name = sys.argv[1]
name = name.replace(' ', '_')
md5 = hashlib.md5(name.encode()).hexdigest()
print(f'{md5[0]}/{md5[0:2]}/{urllib.parse.quote(name)}')
" "$1")"
}

# 1. Nazar - Evil Eye
download_svg_convert "nazar" "$(wm_url 'Evil_Eye.svg')"

# 2. Mano Cornuta
download_svg_convert "mano-cornuta" "$(wm_url 'Hand_Gesture_-_Rock_Sign_Vector_(Sign_of_the_Horns).svg')"

# 3. Menorah
download_svg_convert "menorah" "$(wm_url 'Menorah.svg')"

# 4. Trident of Poseidon
download_svg_convert "trident-of-poseidon" "$(wm_url 'Heraldic_Trident.svg')"

# 5. Alchemical Sulfur
download_svg_convert "alchemical-sulfur" "$(wm_url 'Sulphur.svg')"

# 6. Alchemical Salt
download_svg_convert "alchemical-salt" "$(wm_url 'Salt_symbol_(alchemical).svg')"

# 7. Alchemical Gold (Sun)
download_svg_convert "alchemical-gold" "$(wm_url 'Sun_symbol.svg')"

# 8. Alchemical Silver (Moon)
download_svg_convert "alchemical-silver" "$(wm_url 'Alchemical-Silver-Symbol.svg')"

# 9. Element Earth
download_svg_convert "element-earth" "$(wm_url 'Alchemical_earth_symbol.svg')"

# 10. Element Air
download_svg_convert "element-air" "$(wm_url 'Alchemical_air_symbol.svg')"

# 11. Element Water
download_svg_convert "element-water" "$(wm_url 'Alchemical_water_symbol.svg')"

# 12. Element Fire
download_svg_convert "element-fire" "$(wm_url 'Alchemical_fire_symbol.svg')"

# 13. Black Flag
download_svg_convert "black-flag" "$(wm_url 'Black_flag.svg')"

# 14. Jolly Roger
download_svg_convert "jolly-roger" "$(wm_url 'Jolly-Roger.svg')"

echo ""
echo "=== RESULTS ==="
echo "Success: $SUCCESS / 14"
echo "Failed: $FAIL / 14"
echo ""
echo "=== Verification ==="
for f in "$OUT"/*.png; do
    if [ -f "$f" ]; then
        echo "$(basename $f): $(file -b "$f") | $(identify -format '%wx%h' "$f" 2>/dev/null || echo 'no identify')"
    fi
done
