import os
import re
import shutil

# Configuración
directorio = "."
extensiones_permitidas = (".jpg", ".jpeg", ".png", ".webp")

for archivo in os.listdir(directorio):
    if archivo.lower().endswith(extensiones_permitidas):
        # 1. Separamos nombre y extensión
        nombre_original, extension = os.path.splitext(archivo)
        
        # 2. Pasamos todo el nombre a MAYÚSCULAS
        nombre_mayus = nombre_original.upper()
        
        # 3. Extraemos solo los códigos (ej: VPC10, L0211) 
        # Buscamos grupos de letras y números, ignorando comas, espacios y la "Y"
        codigos = re.findall(r'[A-Z0-9]+', nombre_mayus)
        
        # Filtrar la palabra "Y" si el regex la atrapó por error (opcional pero seguro)
        codigos = [c for c in codigos if c != "Y"]

        if len(codigos) > 1:
            print(f"Separando: '{archivo}' -> {codigos}")
            for cod in codigos:
                nuevo_nombre = f"{cod}{extension.upper()}"
                # Creamos la copia
                shutil.copy2(os.path.join(directorio, archivo), os.path.join(directorio, nuevo_nombre))
            
            # Si quieres borrar el original combinado ('vpc10 y vpc11.jpg') 
            # después de crear las copias, descomenta la siguiente línea:
            # os.remove(os.path.join(directorio, archivo))
            
        elif len(codigos) == 1:
            # Si el archivo solo tiene un nombre pero estaba en minúsculas
            # simplemente lo renombramos a mayúsculas
            nuevo_nombre = f"{codigos[0]}{extension.upper()}"
            if archivo != nuevo_nombre:
                print(f"Renombrando a mayúsculas: {archivo} -> {nuevo_nombre}")
                os.rename(os.path.join(directorio, archivo), os.path.join(directorio, nuevo_nombre))
