Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Firma recursiva con sinadura integrada en Gnome

Cesar Capillas
Cesar Capillas

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
re-sign

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.

zenity sinadura info

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.

re-sign action

La acción se aplica esta vez si se selecciona un directorio:

re-sign condition

La acción se ejecuta con el script re-sign.sh que es compatible con
ambos motores:

re-sign action script

Y la ejecución desde el menú contextual, seleccionado el
directorio Facturas:

firma recursiva

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *