import os
import re
import shutil
from PIL import Image

src_fwd1 = r"C:\Users\Abhiram P M\Desktop\fwdphotos (1)"
src_fwd4 = r"C:\Users\Abhiram P M\Desktop\fwdphotos (4)"
dst_friars_dir = r"d:\iss\Franciscan Society\assets\images\friars"
os.makedirs(dst_friars_dir, exist_ok=True)

# 1. Process and copy fwdphotos (1)
fwd1_mapping = {}

def clean_slug(name):
    s = re.sub(r'^\d+\.\s*', '', name)
    s = re.sub(r'\.[^.]+$', '', s).strip()
    slug = re.sub(r'[^a-zA-Z0-9]', '-', s.lower())
    slug = re.sub(r'-+', '-', slug).strip('-')
    return slug, s

for fname in os.listdir(src_fwd1):
    if fname.lower().endswith(('.png', '.jpg', '.jpeg')):
        slug, raw_name = clean_slug(fname)
        src_p = os.path.join(src_fwd1, fname)
        dst_fname = f"{slug}.png"
        dst_p = os.path.join(dst_friars_dir, dst_fname)
        
        # Optimize image with PIL: resize to max 400x400 for crisp fast loading
        try:
            with Image.open(src_p) as img:
                img.thumbnail((400, 400), Image.Resampling.LANCZOS)
                img.save(dst_p, "PNG", optimize=True)
        except Exception as e:
            shutil.copy2(src_p, dst_p)
            
        fwd1_mapping[raw_name] = f"assets/images/friars/{dst_fname}"

for fname in os.listdir(src_fwd4):
    if fname.lower().endswith(('.png', '.jpg', '.jpeg')):
        slug, raw_name = clean_slug(fname)
        src_p = os.path.join(src_fwd4, fname)
        dst_fname = f"{slug}.png"
        dst_p = os.path.join(dst_friars_dir, dst_fname)
        
        try:
            with Image.open(src_p) as img:
                img.thumbnail((400, 400), Image.Resampling.LANCZOS)
                img.save(dst_p, "PNG", optimize=True)
        except Exception as e:
            shutil.copy2(src_p, dst_p)
            
        fwd1_mapping[raw_name] = f"assets/images/friars/{dst_fname}"

print(f"Total processed friar portraits: {len(fwd1_mapping)}")

# Manual alias mapping to match HTML names accurately
aliases = {
    "Fr. Anselm Kullu": "assets/images/friars/fr-anselem-kullu.png",
    "Fr. George Palamattam": "assets/images/friars/fr-george-mailadil.png", # or fallback
    "Fr. Jerome Alookaran": "assets/images/friars/fr-jerome-alookaran.png",
    "Br. Simon Gahatraj": "assets/images/friars/br-simon-gahatraj.png",
    "Fr. Cyril Kochuvilayil": "assets/images/friars/fr-cyril-kochuvilayil.png",
    "Fr. Marianus Kujur": "assets/images/friars/fr-kujur-marianus.png",
    "Fr. Hilarius Barla": "assets/images/friars/fr-hilarius-barla.png",
    "Fr. John Thakadiyel": "assets/images/friars/fr-john-thakadiyel.png",
    "Fr. Nicholas Tudu": "assets/images/friars/fr-nicolus-tudu.png",
    "Fr. Donatus Xaxa": "assets/images/friars/fr-donatus-xaxa.png",
    "Fr. Anthony Hemrom": "assets/images/friars/fr-antony-hemrom.png",
    "Fr. Donatus Tirkey": "assets/images/friars/fr-donatus-tirkey.png",
    "Fr. Anthony Soren": "assets/images/friars/fr-soren-anthony.png",
    "Fr. Alphonse Ekka": "assets/images/friars/fr-alphonse-ekka.png",
    "Fr. Philip Kaduthanam": "assets/images/friars/fr-philip-kaduthanam.png",
    "Fr. Mathew Kanayinkal": "assets/images/friars/fr-mathew-kanayinkal.png",
    "Br. Oscar Hemrom": "assets/images/friars/br-oscar-hebro.png",
    "Fr. George Mailadil": "assets/images/friars/fr-george-mailadil.png",
    "Br. Subhash P. Tete": "assets/images/friars/br-subash-p-tete.png",
    "Fr. Herman Kujur": "assets/images/friars/fr-herman-kujur.png",
    "Fr. John Horo": "assets/images/friars/fr-john-horo.png",
    "Fr. Vijay Kumar Ekka": "assets/images/friars/fr-vijay-ekka.png",
    "Fr. Bigit Bage": "assets/images/friars/fr-bigit-bage.png",
    "Fr. Ajit Xalxo": "assets/images/friars/fr-ajeet-xalxo.png",
    "Fr. Daison Thaikattil": "assets/images/friars/fr-daison-thaikattil.png",
    "Fr. Anand Kumar Barla": "assets/images/friars/fr-anand-kumar-barla.png",
    "Fr. Leander Kerketta": "assets/images/friars/fr-leander-kerketta.png",
    "Fr. Esidor Baa": "assets/images/friars/fr-isidor-baa.png",
    "Fr. Suman Kishore Dhan": "assets/images/friars/fr-suman-kishore-dhan.png",
    "Fr. Isidore Kerketta": "assets/images/friars/fr-isidor-kerketta.png",
    "Fr. Carolus Kiro": "assets/images/friars/fr-carlous-kiro.png",
    "Fr. Ranjan Prakash Ekka": "assets/images/friars/fr-ranjan-prakash-ekka.png",
    "Fr. Abhay Tigga": "assets/images/friars/fr-abhay-tigga.png",
    "Fr. Manoj Vengathanam": "assets/images/friars/fr-manoj-vengathanam.png",
    "Fr. Manoj Kullu": "assets/images/friars/fr-manoj-kullu.png",
    "Fr. Shaji Alapurath": "assets/images/friars/fr-shaji-alappurath.png",
    "Fr. Benjamin Tiru": "assets/images/friars/fr-benjamin-tiru.png",
    "Fr. Vincy Illickal": "assets/images/friars/fr-vincy-illickal.png",
    "Fr. Xavier Kindo": "assets/images/friars/fr-xavier-kindo.png",
    "Fr. Raju Tirkey": "assets/images/friars/fr-raju-tirkey.png",
    "Fr. Anthers Bara": "assets/images/friars/fr-bara-anthres.png",
    "Fr. Ambose Lakra": "assets/images/friars/fr-ambose-lakra.png",
    "Fr. Benedict Tirkey": "assets/images/friars/fr-benidict-tirkey.png",
    "Fr. Paulinus Kiro": "assets/images/friars/fr-paulinus-kiro.png",
    "Fr. Bijay Prakash Tirkey": "assets/images/friars/fr-bijay-tirkey.png",
    "Fr. Joseph Toppo": "assets/images/friars/fr-joseph-toppo.png",
    "Fr. Gigesh Meckel": "assets/images/friars/fr-gigesh-meckal.png",
    "Fr. Ajit Tiru": "assets/images/friars/fr-ajit-tiru.png",
    "Fr. Anup Toppo": "assets/images/friars/fr-anup-toppo.png",
    "Fr. Deepak Ekka": "assets/images/friars/fr-deepak-ekka.png",
    "Fr. Amit Ekka": "assets/images/friars/fr-amit-ekka.png",
    "Fr. Chander Kujur": "assets/images/friars/fr-chandar-kujur.png",
    "Fr. Sumit Bilsan Tigga": "assets/images/friars/fr-sumit-tigga.png",
    "Fr. Ajeet Paul Kerketta": "assets/images/friars/fr-ajeet-paul-kerketta.png",
    "Fr. Naveen Kujur": "assets/images/friars/fr-naveen-kukur.png",
    "Fr. Pradeep Lakra": "assets/images/friars/fr-pradeep-lakra.png",
    "Fr. Prashant Xalxo": "assets/images/friars/fr-prashant-xalxo.png",
    "Fr. Wilson Lugun": "assets/images/friars/fr-willson-ludun.png",
    "Fr. Anshu Anand Tiru": "assets/images/friars/fr-anshu-anand-tiru.png",
    "Fr. Matias Kandulna": "assets/images/friars/fr-mathias-kandulna.png",
    "Fr. Anand Barla": "assets/images/friars/fr-anand-barla.png",
    "Fr. Mukesh Ekka": "assets/images/friars/fr-mukesh-ekka.png",
    "Fr. Rohit Ekka": "assets/images/friars/fr-rohit-ekka.png",
    "Fr. Anil Soreng": "assets/images/friars/fr-anil-soreng.png",
    "Fr. Amit Kumar Beck": "assets/images/friars/fr-amit-kuamr-beck.png",
    "Fr. Flourence Tirkey": "assets/images/friars/fr-flourence-tirkey.png",
    "Fr. Jugal Barla": "assets/images/friars/fr-jugal-barla.png",
    "Fr. Udit lakra": "assets/images/friars/fr-udit-lakra.png",
    "Fr. Udit Lakra": "assets/images/friars/fr-udit-lakra.png",
    "Fr. Albert Kindo": "assets/images/friars/fr-albert-kindo.png",
    "Fr. Sujit Lakra": "assets/images/friars/fr-sujit-lakra.png",
    "Fr. Sumit Tirkey": "assets/images/friars/fr-sumit-tirkey.png",
    "Fr. Kuldeep Ekka": "assets/images/friars/br-kuldeep-ekka.png",
    "Fr. Jasman Toppo": "assets/images/friars/fr-jasman-toppo.png",
    "Fr. Santosh Toppo": "assets/images/friars/br-santosh-toppo.png"
}

# Update community-friars.html
friars_html_path = 'community-friars.html'
with open(friars_html_path, 'r', encoding='utf-8') as f:
    c = f.read()

matched_count = 0
for name, img_path in aliases.items():
    pattern = re.compile(
        r'(<div style="text-align: center;">\s*<div style="width: 140px; height: 140px;[^"]*">\s*<img src=")[^"]+(" alt="[^"]*" style="[^"]*">\s*</div>\s*<h4[^>]*>' + re.escape(name) + r'</h4>)',
        re.MULTILINE
    )
    if pattern.search(c):
        c = pattern.sub(r'\g<1>' + img_path + r'\2', c)
        matched_count += 1

with open(friars_html_path, 'w', encoding='utf-8') as f:
    f.write(c)

print(f"Updated {matched_count} friar portraits with real photos in community-friars.html!")
