Un simple script de bash, que genera las imagenes redimensionadas (normal,miniatura) del origen de un directorio, y genera el XML correspondienta para la galería flash que dispongo que utiliza dicho XML.
Hago uso para comprimir las imagenes del comando convert, una de las funciones que vienen con Imagemagick. El resto no es más que bash scripting.
#!/bin/bash
#Este script se utiliza para la generación de un album de fotos
#Version 0.44
#
#
# * $1 --> Ruta Directorio Origen Fotos
# * $2 --> Titulo Album
# * $3 --> Descripcion Album
# * $4 --> Fichero XML
TituloAlbum=$2;
DescripcionAlbum=$3;
FicheroXML=$4;
RutaDirectorioFotosOrigen=$1;
RutaDirectorioAlbumDestino=".";
RutaDirectorioAlbum=$RutaDirectorioAlbumDestino/$TituloAlbum;
RutaDirectorioAlbumSlides=$RutaDirectorioAlbum/slides/;
RutaDirectorioAlbumThumbs=$RutaDirectorioAlbum/thumbs/;
# Borramos el directorio si previamente se habia creado
rm -rf $RutaDirectorioAlbum;
# Creamos los directorios destino
mkdir $RutaDirectorioAlbum;
mkdir $RutaDirectorioAlbumSlides;
mkdir $RutaDirectorioAlbumThumbs;
# Creamos el inicio del xml
salida="\n\n";
salida=$salida"\n";
imagenes=$(find "$RutaDirectorioFotosOrigen" -iname "*.jpg" -printf "%f\n");
for i in $imagenes; do
printf "Procesando : "$i;
convert "$RutaDirectorioFotosOrigen/$i" -resize 180x180 "$RutaDirectorioAlbumThumbs/$i";
printf "...generado thumbnail...";
convert "$RutaDirectorioFotosOrigen/$i" -resize 640x640 "$RutaDirectorioAlbumSlides/$i";
printf "...generado slide...";
salida=$salida"\n";
printf "...generado XML...";
printf "....OK\n";
done
salida=$salida"\n\n";
#Volcamos el XML a un fichero
if [ -z $FicheroXML ]; then
echo "N0 existe argumento de fichero XML. Agregando a album.xml";
echo -e $salida >> album.xml;
else
echo "SI Existe argumento de fichero XML. Agregando a "$FicheroXML;
echo -e $salida >> $FicheroXML;
fi
echo "Proceso finalizado !!!";
