Correcciones documentales. Creado el proyecto envio-reportes-correo

This commit is contained in:
2025-12-16 11:13:04 -05:00
parent cd70a1d73b
commit ec82740ed9
7 changed files with 270 additions and 1 deletions

View File

@@ -0,0 +1,47 @@
import os
import re
import shutil
from tkinter import Tk, filedialog
def limpiar_nombre(nombre):
# Reemplazar espacios por guiones bajos
nombre = nombre.replace(' ', '_')
# Reemplazar eñes por 'enes'
nombre = nombre.replace('ñ', 'en')
nombre = nombre.replace('Ñ', 'En')
# Eliminar caracteres especiales dejando solo letras, números y guiones bajos
nombre = re.sub(r'[^a-zA-Z0-9_\.]', '', nombre)
return nombre
def main():
# Crear ventana de Tkinter y esconderla
root = Tk()
root.withdraw()
# Seleccionar carpeta
carpeta_origen = filedialog.askdirectory(title="Selecciona la carpeta con los archivos PDF")
if not carpeta_origen:
print("No se seleccionó ninguna carpeta.")
return
# Crear carpeta destino
carpeta_destino = os.path.join(os.path.dirname(carpeta_origen), f"sercopready_{os.path.basename(carpeta_origen)}")
os.makedirs(carpeta_destino, exist_ok=True)
# Procesar archivos PDF
for filename in os.listdir(carpeta_origen):
if filename.lower().endswith('.pdf'):
# Limpiar nombre
nuevo_nombre = limpiar_nombre(filename)
# Mantener extensión .pdf
nuevo_nombre = nuevo_nombre if nuevo_nombre.lower().endswith('.pdf') else nuevo_nombre + '.pdf'
# Rutas completas
ruta_origen = os.path.join(carpeta_origen, filename)
ruta_destino = os.path.join(carpeta_destino, nuevo_nombre)
# Copiar y renombrar archivo
shutil.copy2(ruta_origen, ruta_destino)
print(f"Archivos procesados y copiados en: {carpeta_destino}")
if __name__ == "__main__":
main()