#!/bin/bash

# ==============================================
# *** Redimensionador automático de imágenes ***
# ==============================================
# Licencia: Dominio Público
# Autor: Ernesto Azuar Valenzuela (lanshor@gmail.com)
# Versión: 0.2 (03/01/2009)
# Aviso1: Por favor, usa este script con precaución, no me hago responsable de ningún fallo ni efecto no deseado.
# Aviso2: Ten en cuenta que todas las imágenes del directorio indicado serán borradas y sustituidas por las copias.

if [ "$1" != "" ]; then
   nombre=$1; #nombre indicado por el usuario
else
   echo "Tienes que indicar un nombre para las imágenes.";
   exit;
fi;

if [ "$2" != "" ]; then
   directorio=$2; #directorio indicado por el usuario
else
   echo "Tienes que indicar un directorio con las imágenes.";
   exit;
fi;

contador=0;
directorio=$(echo $directorio | sed "s/\"//g");
directorio=$(echo $directorio | sed "s/\/$//g");
num_archivos=$(ls -l "$directorio/"*.jpg | sed '/^-/!d' | wc -l);

echo "Modificando imágenes de \"$directorio\":";

function Convertir #Resolución #Letra
   {
   linea="mogrify -resize $1"
   $linea "$archivo" > /dev/null 2> /dev/null;
   cp "$archivo" "$directorio/${nombre}_${contador}_$2.jpg";
   }

for archivo in $(ls -pr1 "$directorio/"*.jpg); do
   contador=$(($contador+1));
   echo "   Creando copias de $nombre"_"$contador ($contador de $num_archivos)";
   #---Crea la imagen grande
   Convertir "1024x768" "g"
   #---Crea la imagen pequeña
   Convertir "160x120" "p"
   #--Borra la imagen origial
   rm -f "$archivo"
done;
echo "Todas las imágenes han sido convertidas.";