-
Contenido pendiente de traducción
Archivos
#!/bin/bash
## Este programa 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
autor='Eduardo Magrané'
mail='eduardo.mamedu.com'
licencia='GNU/GPL 3.0'
web='http://www.mamedu.com'
prog=`basename $0`
version='0.4'
descripcion="Insertar logo en una imagen"
pendiente=
dependencias='composite zenity'
# colores
cNormal="\033[0m"
cError="\033[1;31m"
cAviso="\033[1;37m"
cComentario="\033[47m\033[1;30m"
cAfirmativo="\033[1;32m"
cDestacado="\033[1;37m"
## Añadimos color
#
# Uso:
# color
#
# @param color Color a añadir
color() { if [ "$var_color" = 'si' ] ; then local c=${1:-cNormal} ; echo -e "${!c}" ; fi }
# Variables configurables
var_fich_conf="$HOME/.${prog}rc"
desc_var_fich_conf="Archivo de configuración"
var_color=si
desc_var_color='Presentar colores'
# Si tenemos fichero de configuración recogemos lo insertamos
[[ -e "$var_fich_conf" ]] && source $var_fich_conf
function info() {
# local l=`echo "$prog" | sed s/./=/g`
# echo
# echo "$prog"
# echo $l
echo
echo ":version: $version"
echo ":licencia: $licencia"
echo ":autor: $autor"
echo ":web: $web"
echo ":mail: $mail"
echo
if [ -n "$descripcion" ] ; then
echo
echo Descripción
echo "Descripción" | sed s/./-/g
echo
echo -e "$descripcion"
echo
fi
help
if [ -n "$dependencias" ] ; then
echo
echo 'Programas externos necesarios'
echo 'Programas externos necesarios' | sed s/./-/g
echo
for dep in $dependencias ; do echo -e " - $dep" ; done
echo
fi
if [ -n "${!var_*}" ] ; then
echo
echo 'Variables configurables'
echo 'Variables configurables' | sed s/./-/g
echo
for var in ${!var_*} ; do d="desc_$var" ; echo -e " - ${!d}: ${!var}" ; done
echo
fi
if [ -n "$pendiente" ] ; then
echo
echo Pendiente
echo Pendiente | sed s/./-/g
echo
echo -e "$pendiente"
fi
}
function help() {
echo
echo "uso"
echo "uso" | sed s/./-/g
echo
echo "$prog -l "
echo
echo Opciones:
echo
echo " -l Logo a añadir"
echo " -g Lugar donde ubicar el logo, por defecto SouthEast"
echo " -help Pantalla de ayuda"
echo
echo "$prog -info, Para más información"
echo
}
function error() {
if [ `tty` ] ; then
echo
echo `color cError` $1 `color`
echo
echo Ayuda
echo -----
echo
help
else
zenity --error --text="$1\n\nAyuda:\n\n`help`"
fi
exit "$2"
}
function comprobar_dependencias() {
local salir=no
echo
echo Comprobar dependencias
for d in $dependencias ; do
s="`whereis $d`"
s="${s/#*:}"
if [ -z "$s" ] ; then
echo " - $d `color cError`[NO]`color`"
salir=si
else
echo " - $d `color cAfirmativo`[si]`color`"
fi
done
if [ "$salir" = "si" ] ; then
echo
echo `color cError`Necesitas instalar los programas no encontrados`color`
exit 1
fi
}
while [ -n "$1" ] ; do
case "$1" in
-h|-help|--help) help ; exit ;;
-info) info ; exit ;;
--dependencias|-d) comprobar_dependencias ; exit ;;
-l) logo="$2" ; shift 2;;
-g) gravity="$2" ; shift 2 ;;
*) break;;
esac
done
if [ -z "$gravity" ];then
gravity=$(zenity --list --title="Elija lugar donde se ubicara el logo" --column='' --column="Orientacion" --radiolist FALSE NorthWest FALSE North FALSE NorthEast FALSE West FALSE Center FALSE East FALSE SouthWest FALSE South TRUE SouthEast)
if [ -z "$gravity" ];then
gravity="SouthEast"
fi
fi
if [ -z "$logo" ];then
FILE=`zenity --file-selection --title="Seleccione el logo"`
case $? in
0)
logo="$FILE"
echo "\"$FILE\" seleccionado.";;
1)
echo "No ha seleccionado ningún archivo.";;
-1)
echo "No ha seleccionado ningún archivo.";;
esac
if [ -z "$logo" ];then
error "Imagen sin especificar, -l " 1
fi
fi
if [ -z "$1" ];then
error "Imagen sin espicificar" 1
fi
for imgfile in $* ;do
if [ ! -r "$imgfile" ]; then
echo "ERROR: No puedo leer imagen $imgfile"
else
bn=`basename "$imgfile"`
dn=`dirname "$imgfile"`
if echo "$bn" | grep "^logo_" > /dev/null ; then
echo "File $imgfile has already logo_ in its name, ignored..."
continue
fi
outfilename="$dn/logo_$bn"
echo "writing $outfilename ..."
composite -gravity ${gravity:-SouthEast} -dissolve 100 "$logo" "$imgfile" "$outfilename"
[[ $? != 0 ]] && error "Error al procesar imagen $imgfile" 1
fi
done
if [ `tty` ] ; then exit 0 ; else zenity --info --text="$prog terminado" ; fi