# on redimensionne nos images qui ullustreront les articles, # pour cela on les copie dans notre dossier pictures_inbox. # elles sont copiées en version réduite, et déplacées dans le dossier de l'année # ce script génère aussi de quoi copier des liens org affichant les thumbnails de l'image liée à la grande version import os from PIL import Image from datetime import datetime # Variables INPUT_DIR = "pictures_inbox" OUTPUT_DIR = "output/pictures" YEAR = datetime.now().strftime("%Y") SMALL_SUFFIX = "_small" IMAGE_FORMAT = "jpg" # Créer le dossier de sortie s'il n'existe pas os.makedirs(os.path.join(OUTPUT_DIR, YEAR), exist_ok=True) # Parcourir toutes les images dans le dossier d'entrée for filename in os.listdir(INPUT_DIR): # Vérifier si c'est bien un fichier if os.path.isfile(os.path.join(INPUT_DIR, filename)): # Récupérer le nom de base de l'image et son extension base_name = os.path.splitext(filename) extension = os.path.splitext(filename)[1].lower() # Créer le nom pour la version réduite small_image_name = f"{base_name[0]}{SMALL_SUFFIX}.{IMAGE_FORMAT}" # Chemins des images input_image_path = os.path.join(INPUT_DIR, filename) small_image_path = os.path.join(OUTPUT_DIR, YEAR, small_image_name) original_image_path = os.path.join(OUTPUT_DIR, YEAR, filename) # Redimensionner l'image with Image.open(input_image_path) as img: img = img.resize((600, int(img.height * 600 / img.width)), Image.Resampling.LANCZOS) img.save(small_image_path, 'JPEG') # Utiliser 'JPEG' au lieu de 'JPG' # Copier l'image originale dans le dossier de sortie with open(input_image_path, 'rb') as f: with open(original_image_path, 'wb') as f_out: f_out.write(f.read()) # Écrire la ligne pour le document .org org_line = f"[[file:wp-uploads/content/i/{YEAR}/{small_image_name}][{filename}]]\n" with open(os.path.join("output", f"images_{YEAR}.org"), "a") as org_file: org_file.write(org_line) print("Traitement terminé.")