mamedu :: archivarFotos
mamedu.gif

Programación y linux

  • Contenido pendiente de traducción

22 de June, 2010

Archivos

Nombre Tamaño Fecha MIME código V
archivarFotos 5.8Kb 07 de Septiemre, 2010 text/x-sh [Ver] [V]
#!/bin/bash ## # @author Eduardo Magrané # @web www.mamedu.com # @version 0.8 # # Este archivo esta sujeto a la licencia GNU/GPL. # # En esta página podeis encontrar una traducción en castellano # http://gugs.sindominio.net/licencias/gples.html # # y aquí la versión original http://www.gnu.org/licenses/gpl-3.0.html # Variables globales prog=`basename $0` fc="\033[0m" # Normal dependencias='jhead' # Variables configurables var_fich_conf="$HOME/.${prog}rc" desc_var_fich_conf="Archivo de configuración" var_dir_galerias="$HOME/fotos" desc_var_dir_galerias="Directorio predeterminado para guardar las fotos" var_color_1="\033[0;33m" desc_var_color_1='Color para el texto que se ha de destacar' var_prog_ver_archivos='thunar' desc_var_prog_ver_archivos='Navegador de archivos' # Si tenemos fichero de configuración recogemos lo insertamos [[ -e "$var_fich_conf" ]] && source $var_fich_conf function help() { cat < $var_fich_conf fi # Nombre de la galería GALERIA=$(zenity --title "Nombre de Galeria" --entry --text "Introduce el nombre de la galeria de las imagenes") if [ "$GALERIA" = "" ] ; then echo "Cancelado" ; exit ; fi zenity --question --text "Borrar originales" BORRAR=$? echo -e "\nBuscamos fecha de la primera imagen jpg que nos la pueda dar\n" DIFS="$IFS" # separador fin de linea para que salga linea por linea IFS=$'\n' for x in `echo -e $*` ; do jhead "$x" echo $x if [ "$?" = "0" ] ; then FECHA_EXIF="`jhead "$x" | grep Date/Time | sed \"s/Date\/Time : //\" | sed \"s/:/-/g\" | cut -d' ' -f1`" HORA_EXIF="`jhead "$x" | grep Date/Time | sed \"s/Date\/Time : //\" | sed \"s/:/-/g\" | cut -d' ' -f2`" break fi done IFS="$DIFS" echo "FECHA_EXIF: $FECHA_EXIF" echo "HORA_EXIF: $HORA_EXIF" if [ "$FECHA_EXIF" != "" ] ; then DESTINO="${var_dir_galerias}/${FECHA_EXIF}_$GALERIA" else DESTINO="${var_dir_galerias}/`date +%Y-%m-%d`_$GALERIA" fi mkdir "$DESTINO" if [ -d "$DESTINO" ] ; then DIFS="$IFS" # separador fin de linea para que salga linea por linea IFS=$'\n' for x in `echo -e $*` ; do j=$(echo $x | sed -e 's/\.jpg/\.jpeg/gi' ) # Buscamos fecha por imagen individualmente para cambiar el nombre por la fecha FECHA_EXIF="`jhead "$x" | grep Date/Time | sed \"s/Date\/Time : //\" | sed \"s/:/-/g\" | cut -d' ' -f1`" HORA_EXIF="`jhead "$x" | grep Date/Time | sed \"s/Date\/Time : //\" | sed \"s/:/-/g\" | cut -d' ' -f2`" if [ "$HORA_EXIF" != "" ] ; then EXT_FICHERO="`echo $j | awk -v FS='.' '{print $NF}'`" IMG_DESTINO="${DESTINO}/${GALERIA}_${FECHA_EXIF}_${HORA_EXIF}.$EXT_FICHERO" else IMG_DESTINO="${DESTINO}/${GALERIA}_`basename \"$j\"`" fi echo -e "\nOriginal: ${x}\nDestino: $IMG_DESTINO\n" # Comprobar que no se duplique la imagen if [ ! -e "$IMG_DESTINO" ] ; then if [ $BORRAR = 0 ] ; then mv "$x" "$IMG_DESTINO" else cp "$x" "$IMG_DESTINO" fi else zenity --title "ERROR" --error --text "Imagen duplicada" exit fi done IFS="$DIFS" else echo "ERROR::No se pudo crear directorio" zenity --title "ERROR" --error --text "No se pudo crear directorio" exit fi # Rotamos las fotos automagicamente jhead -autorot "${DESTINO}/"*.jpeg # Cambiamos la fecha de la imagen por la fecha de creación de exif jhead -ft "${DESTINO}/"*.jpeg $var_prog_ver_archivos "$DESTINO" & exit
Administrar

Nombre:

Contraseña: