mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-06-20 09:04:42 +02:00
add pictures inbox resize to thumb and sort
This commit is contained in:
parent
3efa55919f
commit
1e7a81acd2
2178 changed files with 51 additions and 60778 deletions
51
pictures_resize.py
Normal file
51
pictures_resize.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
# 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é.")
|
Loading…
Add table
Add a link
Reference in a new issue