Comprobación de md5sum en el menú contextual de Konqueror

Luego de estar un rato sin saber que hacer y estar casi al punto del suicidio a causa del aburrimiento me decidí a añadirle algunas cosas al script presentado por melenas en kdehispano.org para hacerlo un poco más cómodo y funcional o quizás para lograr que dejara de funcionar O_O

El caso es que esto es lo que ha salido:

Como el nombre de casi todos los archivos md5 está formado por el nombre_del_archivo_original.md5, hice que verificara si existía un archivo con estas características en el directorio actual, si existe recoge lo que corresponde al valor md5sum de dentro del archivo.md5 y lo compara con el valor recién calculado. Si son iguales muestra un mensaje con esta información y si no coinciden también avisa. En caso de que el archivo .md5 no exista, pues calcula y pregunta si deseamos generar dicho archivo.

Normalmente los archivos md5 son generados haciendo:

md5sum archivo_a_verificar > archivo_a_verificar.md5

...quedando el contenido del .md5 de la suguiente forma:

15d0655a2ee72fc4ed4ef2f8379eb1bd archivo_a_verificar

Si el contenido del archivo no es como el ejemplo o conteniendo como primera cadena del archivo el valor de la suma md5

15d0655a2ee72fc4ed4ef2f8379eb1bd

Siempre va a decir que no coinciden los valores porque obviamente no es así.

Bueno después de cansarlos con tanto lengua, aquí va el código de los archivos:

kmd5.desktop

[Desktop Entry] 
Actions=ExecMD5Sum 
Encoding=UTF-8 
ServiceTypes=all/all 

[Desktop Action ExecMD5Sum] 
Exec=kmd5 %U 
Name=Check MD5sum... 
Name[es]=Comprobar MD5sum... 
Icon=cdrom_unmount 

kmd5

#Kmd5 
#Comprobador MD5SUM en menú contextual 
#Originalmente escrito por: 
#melenas de kdehispano.org 
#Modificado por NeOnsKuLL 

TMP=`md5sum "$1"` 
MD5=`echo $TMP | awk '{print $1}'` 
dcop klipper klipper setClipboardContents "$MD5" 

if [ -e "$1.md5" ]; then 
MD5_FROM_FILE=`cat $1.md5 | awk '{print $1}'` 
dcop klipper klipper setClipboardContents "$MD5_FROM_FILE" 
    
   if [ "$MD5" = "$MD5_FROM_FILE" ]; then 
      kdialog --title "Comprobador de MD5sum" --msgbox "Los valores MD5 coinciden." 
   else 
      kdialog --title "Comprobador de MD5sum" --error "Los valores MD5 no coinciden." 
   fi 
    
else 
kdialog --title "Comprobador de MD5sum" --yesno "El MD5sum de $1 es \n $MD5 \n Desea generar el archivo .md5?" 
   if [ $? -eq 0 ]; then 
      FILE_MD5=`basename $1` 
      echo "$MD5 $FILE_MD5" > $1.md5 
      kdialog --title "Comprobador de MD5sum" --msgbox "Se ha generado el archivo md5: \n $FILE_MD5.md5" 
   fi 
fi

Solo queda darle permisos de ejecución al archivo kmd5:

chmod +x kmd5

Y entonces copiarlo (como root) a /usrl/local/bin/:

cp kmd5 /usr/local/bin/

Y copiar kmd5.desktop a /usr/share/apps/konqueror/servicemenus/:

cp kmd5.desktop /usr/share/apps/konqueror/servicemenus/

A partir de ahora bastará con dar click derecho sobre el archivo a comprobar Acciones | Comprobar MD5sum... y listo, más nunca tendremos que enredarnos a pasar comandos (aunque esto no es realmente lo que importa, sino trabajar más rápido y con más comodidad).



Espero que el haber metido los dedos en el código no lo haya destrozado .



Después de haberlo probado un rato, no puedo negar que me siento muy satisfecho de como funciona y de todas las funcionalidades que le añadí.



Nos vemos



NeOnsKuLL

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.
Gravatar de Guala

# 32824: Reviviendo este hilo con una implementación...

No será la gran cosa pero es cómodo y funciona, aunque a mi gusto le falta un indicador de ejecución pero bueno, alguien ya lo mejorará, por ahora lo revivo porque funciona, y como en estas fechas se tocará bastante el tema de la integridad de las isos puede que alguien se interese en adoptarlo, quien sabe. :D

salu2!