En el siguiente artículo, exploraremos las capacidades de integración
de sinadura en el escritorio Gnome a través de las acciones y scripts
de Nautilus, en el caso de uso de firma recursiva de ficheros PDF que
se encuentren por debajo de un directorio seleccionado.
Firma recursiva a través de scripts de nautilus:
Un motor de scripting de Gnome es nautilus-scripts
$ sudo aptitude nautilus-scripts
Simplemente alojando un script de shell como el que se muestra
más abajo (re-sign.sh) en $HOME/.gnome2/nautilus-scripts/, podemos
ejecutarlo en el menú contextual Scripts, con el botón derecho. El
motor es menos potente que las acciones de nautilus, pues no es
posible implementar condiciones, pero puede ser útil en muchas ocasiones.
#! /bin/sh
#
# re-sign.sh
#
# Script de firma recursiva con sinadura 2.0
#
# Uso: re-sign.sh <directorio a firmar>"
#
SINADURA_HOME=/home/cesar/local/sinadura
PREFERENCES=/home/cesar/local/sinadura/resources/preferences/preferences-sinadura-console.properties
LOGFILE=$HOME/.sinadura.log
RESFILE=$HOME/.sinadura-output.log
if [ -z $2 ]; then
MYDIR=$PWD/$1
else
MYDIR=$2/$1
fi
/usr/bin/find $MYDIR -type f -name *pdf > $LOGFILE
echo "Sinadura 2.0 (by zylk.net & irontec)" 2>&1 >> $RESFILE
echo 2>&1 >> $RESFILE
echo "Firmando documentos:" 2>&1 >> $RESFILE
while read file
do
base=`dirname "$file"`/`basename "$file" .pdf`;
echo $file 2>&1 >> $RESFILE
(cd $SINADURA_HOME; /bin/sh ./bin/sinadura-console -input $file -output $base-signed.pdf -preferences $PREFERENCES 2>&1 >> $RESFILE)
done < $LOGFILE
echo 2>&1 >> $RESFILE
echo "Hecho!" 2>&1 >> $RESFILE
echo "http://www.sinadura.net" 2>&1 >> $RESFILE
zenity --text-info --title="Sinadura info:" --filename=$RESFILE --width=600 --height=400
rm -f $RESFILE
Seleccionado un directorio, el script buscará los archivos PDF
por debajo de la ruta seleccionada y firmará los diferentes archivos
encontrados. A través del comando zenity
se mostrará al final del proceso una pequeña ventana de log con los
archivos firmados.
Firma recursiva a través de acciones de nautilus:
El script de shell anterior puede invocarse desde las acciones
de nautilus al seleccionar una carpeta, y ejecutar una firma recursiva
de todos los archivos PDF por debajo del directorio seleccionado, de
manera análoga al artículo anterior de esta serie. Defino la acción de la misma
manera que en el anterior artículo de esta serie, configurando los
parámetros y la condición correspondiente, esta vez sobre una carpeta
seleccionada y voila.
La acción se define en el menú de acciones de nautilus.
La acción se aplica esta vez si se selecciona un directorio:
La acción se ejecuta con el script re-sign.sh que es compatible con
ambos motores:
Y la ejecución desde el menú contextual, seleccionado el
directorio Facturas:






