JOSEDU – WEB

Un ratito tranquilo…

  • Author: josedu
  • Published: may 7th, 2009
  • Category: linux
  • Comments: 3

script de bash para generar galería de fotos web

TAGS: None

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 !!!";

TAGS: None

3 Responses to “script de bash para generar galería de fotos web”


  1. exis
    on may 7th, 2009
    @ 9:26 pm

    Tiene buena pinta, te dejo algunas cosillas que dependiendo del uso que se le vaya a dar, quizá se podrían currar un poco más:

    1. Por lo que veo solo pillas los .jpg, sería conveniente pillar otros tipos de fichero como los png o bmp. Yo creo que lo ideal sería obtener el tipo de fichero de algún modo, con el comando file o con algo similar, ya que además, en Linux y compañía las extensiones no son obligatorias ;)

    2. Podrías renombrar las imágenes redimensionadas de algún modo para saber a que resolución las tienes. Por ejemplo, a los thumbnails les podrías concatenar el sufijo “thumb”.

    3. Por último, quizá esto sea más complicado y además no estoy seguro de que todos los formatos lo soporten, pero se podría intentar incluir el título del álbum e incluso algunas tags en los metadatos de la foto, para tenerlas un poco más etiquetadas. Supongo que esto podría servir para un posible buscador.

    Ah y una pregunta, ¿el fichero xml lo generas con la salida del comando convert?

    De todos modos, veo que le has cogido el gustillo al bash scripting eh, ahora solo te falta meterte a saco con las reg. exp. para dominar el mundo… XDDD

  2. Error: No se pudo crear el directorio /var/www/vhosts/josedu.com/httpdocs/blog/wp-content/uploads/2012/02. Asegúrate de que el servidor tiene permisos de escritura para el directorio superior.
    josedu
    on may 8th, 2009
    @ 12:18 am

    Lo del punto 1. Buenisima sugerencia, aunque lo de solo JPG, es por fines prácticos, pq prácticamente el 99’999999% de las fotos digitales vienen en este formato.
    El punto 2, es una restricción de la galería de fotos para la cual estoy generando este script. Por eso se deben situar las fotos con el mismo nombre pero en sus directorios correspondientes (/slides,/thumbs)
    El punto 3, lo de los metadatos, desde luego el JPG con el EXIFF, no se las litimitaciones pero lo estudiaré. Apuesto que existe el comando de la colección Imagemagick para realizar esta tarea.
    El fichero xml, lo genero si te fijas con el echo -e (el -e es para que interprete los códigos de escape).

  3. Error: No se pudo crear el directorio /var/www/vhosts/josedu.com/httpdocs/blog/wp-content/uploads/2012/02. Asegúrate de que el servidor tiene permisos de escritura para el directorio superior.
    Tomeu Roig
    on may 14th, 2009
    @ 9:23 pm

    Esta de pm este articulo, el otro dia estuve haciendo pruebas con el imagemagick y la verdad es que es una virgueria, pues yo no lo conocia…

    salu2

Leave a Reply

You must be logged in to post a comment.

© 2009 JOSEDU – WEB. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.

sex porn