.

Breaking News
recent

-

Script para bajar mangas de la mc

Hola gente de como están???

Bueno ya que hace rato que no subo nada les dejo este script que escribí para bajar mangas de la mcanime. A algunos les puede interesar a otros no el tema del manga pero la idea es compartir el código para el que lo necesita, aprender algo nuevo o darle otro uso al código, en fin la idea es compartir para aprender de eso se trata la filosofía GNU.

Script para bajar mangas de la mc


Primero una captura con todas las ventanas que tiene:

GNU

Uso yad para poder hacer las gráficas y lo incluyo en el .tar.gz que dejo al final para poder bajar.

Y acá les dejo el código para que lo vean un poco, ojo que seguro no funciona ya que mundo linux es una mierda y no pone todos los caracteres correctamente.


#!/bin/bash

#=============================================================================== 

#          FILE: Tuco.sh
#  
#         USAGE: ./Tuco.sh  
#  
#   DESCRIPTION: Script creado para bajar mangas de la McAnime.
#  
#       OPTIONS: None 
#  REQUIREMENTS: yad, curl, wget, notify-send
#          BUGS: None
#         NOTES: El ejecutable llamado Yad es el Yad portable. 
#        AUTHOR: Due204 (due204@gmail.com)
#  ORGANIZATION: --- 
#       CREATED: 22/03/14 22:57:01 ART 
#      REVISION: 0.2
#=============================================================================== 

# Ruta de trabajo.
RUUTO="$(dirname "$(readlink -f "$0")")"
# Exportando ruta de trabajo.
export PATH="$RUUTO/":"${PATH}"

# Primera gráfica.
LINKP=`Yad --title="Tuco" --window-icon="$RUUTO/iconos/icono.png" --text="n n t Ingrese el link del manga: " --entry --entry-text="Link" --image="$RUUTO/iconos/link.png" --button="Acerca de:1" --button="Aceptar:0" --width=430 --height=190`

case $? in
1)
Yad --image="$RUUTO/iconos/icono.png" --window-icon="$RUUTO/iconos/icono.png" --button="Aceptar:0" --title="Acerca de..." --text="nTuco es un simple script creado por due204 para bajar mangas de http://www.mcanime.net nPor dudas o sugerencias: due204@gmail.com nnSientete libre de adaptar este codigo a tus necesidades. nVersion 0.2" --width=260 ; exit;;
252)
exit;;
0)
echo "Bajando...";;
esac

# Comprueba la coneccion a la mcanime.net.
#if [ `ping -c 1 mcanime.net | grep "0 received" | wc -l` = 0 ]; then
#    Yad --image="$RUUTO/iconos/error.png" --window-icon="$RUUTO/iconos/icono.png" --button="Aceptar:0" --title="Error" --text="n n n No hay conección con la Mc." --width=260
#    exit
#fi

# Comprobar que el link sea correcto (McAnime).
if [ `echo $LINKP | grep "http://www.mcanime.net" | grep "#ver" | wc -l` = 0 ]; then
    Yad --image="$RUUTO/iconos/error.png" --window-icon="$RUUTO/iconos/icono.png" --button="Aceptar:0" --title="Error" --text="n n n nLink no valido." --width=260
    exit
fi

Yad --progress --window-icon="$RUUTO/iconos/icono.png" --pulsate --button="Cancelar:1"--auto-close --auto-kill --title="Descargando..." --text="t Por favor espere." --width=200 --height=70 &

# Pagina
LINK_PAG=`curl -l $LINKP 2> /dev/null`

# Titulo del manga
TITULO=`echo "$LINK_PAG" | grep "Manga:" | cut -d '>' -f2 | cut -d '<' -f1`

# Capitulo del manga
CAPITULO=`echo "$LINK_PAG" | grep "selected>" | cut -d '>' -f2 | awk '{ print $1 }'`

# Fansub del manga
FANSUB=`echo "$LINK_PAG" | grep "Fansub:" | cut -d '>' -f2 | cut -d '<' -f1`

# Imagen a bajar
PAGIN=`echo "$LINK_PAG" | grep "#ver" | tail -n 1 | cut -d '"' -f4`

# Cantidad de imagenes a bajar
CAT_PAG=`echo "$LINK_PAG" | grep "selected" | tail -n1 | awk '{ print $NF }' | cut -d '>' -f2 | cut -d '<' -f1`

# Crea el archivo en el /tmp 
echo "" > /tmp/mc_manga
echo "Titulo del manga: $TITULO" >> /tmp/mc_manga
echo "" >> /tmp/mc_manga
echo "Capitulo: $CAPITULO" >> /tmp/mc_manga
echo "" >> /tmp/mc_manga
echo "Fansub: $FANSUB" >> /tmp/mc_manga
echo "" >> /tmp/mc_manga
echo "Cantidad de paginas a bajar: $CAT_PAG" >> /tmp/mc_manga

killall Yad

# Grafica
Yad --text-info --title="$TITULO" --window-icon="$RUUTO/iconos/icono.png" --image="$RUUTO/iconos/bajar.png" --filename=/tmp/mc_manga --button="Bajar:0" --width=500 --height=200

case $? in
1)
exit;;
252)
exit;;
0)
echo "Bajando...";;
esac

rm /tmp/mc_manga

LI_MA=`echo "$LINKP" | cut -d '/' -f1-7`

# crea la carpeta con el nombre y capitulo del manga
mkdir "$TITULO $CAPITULO"

# Ingresa a la carpate
cd "$TITULO $CAPITULO"

IFS=$(echo -en "nb")
SUMA=0

for MANGA in `seq 1 $CAT_PAG`; do
    LINK_PAG=`curl -l "$LI_MA/$MANGA#ver" 2>/dev/null`
    if [ "$MANGA" = "$CAT_PAG" ]; then
        PAGIN=`echo "$LINK_PAG" | grep "><img src=" | tail -n 2 | head -n 1 | cut -d '"' -f4`
    else    
        PAGIN=`echo "$LINK_PAG" | grep "#ver" | tail -n 1 | cut -d '"' -f4`
    fi
    let SUMA=SUMA+1
    porcentaje=$(($SUMA * 100 / $CAT_PAG))
    echo "1:$porcentaje"
    echo "1:# $porcentaje% completado $SUMA de $CAT_PAG"
    wget "$PAGIN" 2>&1 | sed -u "s/.* ([0-9]+%) +([0-9,.]+.) (.*)/$2:2n2:# Bajando a 2/s/"
    echo "2:$porcentaje"
    if [ $SUMA = $CAT_PAG ]; then
        killall Yad
    fi
done | Yad --multi-progress --bar="Pocesando:":NORM --bar="Velocidad:":NORM --window-icon="$RUUTO/iconos/icono.png" --button="Cancelar:1" --title="$TITULO" --text="t tProcesando $CAT_PAG páginas." --width=210 --height=75 --image="$RUUTO/iconos/download.png" --auto-close --auto-kill


# Renombrando archivos.
for NAMAE in `ls ?.*`; do 
    EXT=`echo "$NAMAE" | cut -d '.' -f2`
    NOM=`echo "$NAMAE" | cut -d '.' -f1`
    mv "$NAMAE" "0$NOM.$EXT"
done

RESUL=`Yad --form --window-icon="$RUUTO/iconos/icono.png" --title="$TITULO" --text="n Descaga completa" --image="$RUUTO/iconos/descarga.png" --field="Convertir imagenes PNG a JPG:CHK" --field="Convertir imagenes a pdf:CHK" --button="Continuar:0" --button="Terminar:1"`

case $? in
1)
exit;;
252)
exit;;
0)
echo "Bajando...";;
esac

IMAGEN=`echo "$RESUL" | cut -d '|' -f1`
PDF=`echo "$RESUL" | cut -d '|' -f2`

if [ $IMAGEN = TRUE ]; then
    # Convierte todas las imagenes .png en .jpg.
    for file in *.png ; do mv $file `echo $file | sed 's/(.*.)png/1jpg/'` ; done
fi
if [ $PDF = TRUE ]; then
    # Convierte todas las imagenes .png en .jpg.
    for file in *.png ; do mv $file `echo $file | sed 's/(.*.)png/1jpg/'` ; done
    convert * $CAPITULO.pdf
fi

notify-send --icon="$RUUTO/iconos/notify.png" "$TITULO $CAPITULO" "Descargado correctamente."

# Final del camino.

Como lo sospeche es una mierda y no me muestra bien el código.

Tux


Para los que quieran ver correctamente el código se los dejo en paste bin para que lo lean bien (Acuérdense de borrar el espacio entre paste y bin)

paste bin.com/ZcHs8Ygp

Para que funcione correctamente las dependencias a cumplir son:

curl, wget, notify-send y imagemagick ==> curl y wget mayormente vienen en la mayoria de las distros lo único que nos faltaría instalar es notify-send para las notificaciones y imagemagick para pasar todas las imágenes a un pdf.


Acá esta el link para bajar el .tar.gz con el script, el yad portable y las imágenes todo por media f ire.

download/mzrg7dudr3glimh/Tuco.tar.gz

manga



Algo muy importante: El lleva el nombre de Tuco en honor a mi perro.

Bueno sera hasta la próxima.

No hay comentarios:

Publicar un comentario

-

Con la tecnología de Blogger.