#!/bin/sh

#########################################
#	a3Downloader.sh						#
#	aabilio@gmail.com					#
#	http://en.wikipedia.org/wiki/WTFPL 	#
#########################################
	
# No "valida" ningún dato, si hay error no devuelve info sobre el mismo.
# Valido mientras mantengan la mismas estructura de vídeos y URLs en el servidor.

clear

#Presentacion:
echo '==================================='
echo '| Descargar videos de Antena3.com |'
echo '==================================='
echo ''

#Borra antiguos .html, .xml y .mp4 (videos) que molesten:
echo '[+] Borrando archivos antiguos'
sleep 1.5
find . -maxdepth 1 -name "*.html*" -exec rm {} \;
find . -maxdepth 1 -name "*.xml*" -exec rm {} \;
#find . -name "*.mp4*" -exec rm {} \;

#Descarga la url pasada por parametro, la del cap.:
HTML=`echo $1`
echo '[+] Descargando '$HTML'...'
sleep 1.5
wget -nv $HTML

#No modificar, servidores de a3 para web y videos:
servidorDescarga="http://desprogresiva.antena3.com/"
servidorAntena3="http://www.antena3.com"

#Establecer nombre de archivos (mejorar esto ¿sed y awk?):
nombreHTML=`echo $HTML | cut -d. -f2-3 | cut -d\/ -f5`
XML=`cat $nombreHTML | grep "so.addVariable(\"xml\"" | cut -d\" -f4`
nombreXML=`echo $XML | cut -d/ -f8`

#Establecer datos de la serie:
serie=`echo $HTML | cut -d/ -f5`
capitulo=`echo $nombreHTML | cut -d\- -f2 | cut -d. -f1`
temporada=`echo $HTML | cut -d\/ -f6 | cut -d\- -f2`

#Descargar xml:
echo '[+] Descargando ' $nombreXML'...'
sleep 1.5
wget -nv $servidorAntena3$XML

#Mostrar datos de la serie
echo ''
echo '\033[38;5;148m============================================\033[39m'
echo '\033[38;5;148mSerie : \033[39m"'$serie'"'
echo '\033[38;5;148mCap   : \033[39m"'$capitulo'"'
echo '\033[38;5;148mTemp  : \033[39m"'$temporada'"'
echo ''
echo '\033[38;5;148mSe descargarán las partes: \033[39m'
for i in `cat $nombreXML | grep .mp4 | cut -d[ -f3 | cut -d] -f1`
do
	nombreMp4=$serie'-'$temporada'x'$capitulo'_parte'`echo $i | cut -d. -f1 | cut -d/ -f6`'.mp4'
	echo $nombreMp4" ($i)"
done
echo '\033[38;5;148m============================================\033[39m'
echo ''
echo ''
sleep 4

#Sacar caps de .xml y descargar los caps.:
for i in `cat $nombreXML | grep .mp4 | cut -d[ -f3 | cut -d] -f1`
do
	nombreMp4=$serie'-'$temporada'x'$capitulo'_parte'`echo $i | cut -d. -f1 | cut -d/ -f6`'.mp4'
	echo "[+] \033[38;5;148mDescargando: "$nombreMp4"\033[39m ($i)"
	wget $servidorDescarga$i -O $nombreMp4
	echo ''
done

#Borra antiguos .html, .xml que molesten:
echo '[+] Borrando archivos temporales'
sleep 1.5
find . -maxdepth 1 -name "*.html*" -exec rm {} \;
find . -maxdepth 1 -name "*.xml*" -exec rm {} \;
#find . -name "*.mp4*" -exec rm {} \;

echo '[FIN] \033[38;5;148mDescargas Finalizadas\033[39m'

##TODO: (1) Convertir a otros formatos tras descarga..
##		(2) "Validar" datos..
##		(3) Cuidado con find para borrar


