PDA

Ver la Versión Completa : Script que "simula" aTubeCatcher



victorhck
22-sep-2010, 20:23
Hola!
Aquí traigo una nueva versión de un script que ya tenía y que gracias a la comunidad conseguí resolver dudas. Esta vez haciendo caso de una muy buena sugerencia de Nopersona (gracias!!) utilice la buena herramienta de Kdialog para hacerlo todo más visual. Cada día aprendiendo más!!!
El script lo que hace es descargar el fichero FlashXX... que se genera cuando vemos videos o música en ciertas páginas de stream (Youtube, Rockola, ...)hay que esperar a que la barra de progreso del video llegue hasta el final para que el sea completo (la de reproducción es indiferente). Este lo copia en la carpeta Documentos, y da la posibilidad de convertirlo a MP3 y conservar o borrar el archivo de video. Se podría asemejar al aTubeCatcher del window$ (salvando las diferencias...). lo he probado sin ningun problema. Espero que os sea útil. A lo mejor se hace un poco pesado con mucha ventanita, espero que no.
Un consejo, hacerlo ejecutable y copiarlo en /bin y despues crear un acceso.desktop en /usr/share/applications y asi despues podreis crear un lanzador.
Por supuesto tendreis que tener kdialog instalado (mirad los repos)
Modificad las carpetas en las que se guardan por si alguna no existe en vuestro HOME (Documentos, Música)
Espero que sea útil. despues de días, este es el código (free of course):




#!/bin/bash

# ------------------------------------
# -- Creado por: Victorhck (nick) --
# -- úsalo y desarrollalo --
# -- v 0.1 13/8/10 --
# -- v 0.2 15/8/10 --
# -- v 1.0 22/9/10 --
# -- GRACIAS a www.forosuse.org --
# ------------------------------------

# Copia un fichero llamado FlashXX....... a la carpeta de documentos
# dando la opción de convertirlo en MP3 y copiarlo en la carpeta de música
# similar al aTubeCatcher para window$ (salvando las diferencias)

# El nombre del archivo que se mete debe ir sin espacios para que ffmpeg no de errores


# --funcion barra de progreso ---------------------------------------------
# 1 parametro: Texto de barra -- 2 parametro: Tiempo -- 3 parametro: funcion a realizar
function barra()
{
REF=$(kdialog --progressbar "Buscando ficheros..." --title "Búsqueda..." --icon video 10)

qdbus ${REF} org.kde.kdialog.ProgressDialog.setLabelText "$1"
sleep $2
qdbus ${REF} Set org.kde.kdialog.ProgressDialog value 3
$3 # Ejecuta la funcion que se pasa como parámetro
sleep $2
qdbus ${REF} Set org.kde.kdialog.ProgressDialog value 6
sleep $2
qdbus ${REF} Set org.kde.kdialog.ProgressDialog value 9
sleep $2
qdbus ${REF} org.kde.kdialog.ProgressDialog.close
}
#-------------------------------------------------------------------------

clear
cd /tmp

barra "Buscando ficheros llamados FlashXX en /tmp... " 0.5 # llamada a la funcion con 3 parámetros

FICHEROS=$(find /tmp/ -name "Flash*" -print 2>&1 | grep -v "Permiso denegado")
find /tmp/ -name "Flash*" -print 2>&1 | grep -v "Permiso denegado" > ficheros.txt
LINEA=$(grep "FlashXX*" ficheros.txt | wc -l)

case $LINEA in
0) # Sin archivos FlashXX
kdialog --error "Revise! No existen ficheros llamados: FlashXX* ...."
exit 0
;;

1)
# opcion 1 -> encuentra un archivo
cd /tmp

ARCHIVO=$(kdialog --getopenfilename $/ "Flash*" )
OPCION1=$?
if [ $OPCION1 = 1 ]
then
sleep 0.5
kdialog --msgbox "Script cancelado por el operador. ADIOS!"
exit
fi

cp $ARCHIVO ~/Documentos
sleep 0.5
cd ~/Documentos
OPCION2=2
while [ $OPCION2 = 2 ]
do
NOMBRE=$(kdialog --inputbox "Introduce un nuevo nombre sin espacios en blanco para el archivo" )
OPCION1=$?
if [ $OPCION1 = 1 ]
then
sleep 0.5
kdialog --msgbox "Script cancelado por el operador. ADIOS!"
exit
fi
kdialog --warningcontinuecancel "Es correcto el nuevo nombre? $NOMBRE "
OPCION2=$?
done
mv Flash* $NOMBRE
kdialog --msgbox "Hecho... Copiado en la carpeta Documentos de Home con este nombre: $NOMBRE " 150 150
sleep 0.5s
kdialog --warningyesno "Quiere convertirlo a MP3"
DECISION=$?
if [ $DECISION = 0 ] # Se convierte archivo a MP3
then
barra "Convirtiendo archivo a mp3..." 0.5 "ffmpeg -i $NOMBRE -f mp3 $NOMBRE.mp3" # llamada a la funcion con 3 parámetros
kdialog --msgbox "Hecho... Convertido a MP3 con este nombre: $NOMBRE " 150 150
kdialog --warningyesno "Quiere borrar el archivo flash y mover el archivo MP3 a la carpeta Música"
DECISION=$?
if [ $DECISION = 0 ] # Se borra fichero
then
rm $NOMBRE
mv $NOMBRE.mp3 ~/Música
kdialog --msgbox "Copiado MP3 a carpeta Música y borrado fichero de video. Aceptar para salir" 150 150
sleep 0.5
exit 0
else
kdialog --msgbox "Gracias por usar este script !!" 150 150 # No se borra el fichero
exit 0
fi
exit 0
else
if [ $DECISION=1 ] # no se convierte a MP3
then
kdialog --msgbox "Gracias por usar este script !!" 150 150
#echo "Ok..."
sleep 0.5s
exit
fi
fi
;;

*)
kdialog --error "Revise el directorio /tmp!! Existen 2 o más ficheros llamados: FlashXX* ...."
dolphin /tmp
;;
esac



Salud !!