#!/bin/bash

TORRENTDIRECTORY="/media/storage/downloads/torrents/torrentfiles/"
RSSFILE=/tmp/rssfile

URL_LIETOME="http://www.ezrss.it/search/index.php?show_name=Lie+to+me&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"
URL_HEROES="http://www.ezrss.it/search/index.php?show_name=Heroes&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"
URL_FRINGE="http://www.ezrss.it/search/index.php?show_name=Fringe&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"
URL_FLASH="http://www.ezrss.it/search/index.php?show_name=FlashForward&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"
URL_TBBT="http://www.ezrss.it/search/index.php?show_name=the+big+bang+theory&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"
URL_DEXTER="http://www.ezrss.it/search/index.php?show_name=dexter&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"
URL_HIMYM="http://www.ezrss.it/search/index.php?show_name=How+I+Met+Your+Mother&date=&quality=HDTV&quality_exact=true&release_group=&mode=rss"

RSSLINKS=`echo $URL_LIETOME $URL_HEROES $URL_FRINGE $URL_FLASH $URL_TBBT $URL_DEXTER $URL_HIMYM`

# Fa in modo che la la directory dove verranno scaricati i torrent esista
mkdir -p $TORRENTDIRECTORY

# Scarica gli rss
wget $RSSLINKS -O $RSSFILE -o /dev/null

# Recupera tutti i link .torrent dal file rss
LINKS=`cat $RSSFILE | grep "<link>" | grep .torrent`
LINKS=`echo $LINKS | sed "s:<link>::g"`
LINKS=`echo $LINKS | sed "s:</link>::g"`

# Recupera tutte le date dal file rss
DATES=`cat $RSSFILE | grep "<pubDate>"`
DATES=`echo $DATES | sed "s:<pubDate>::g"`
DATES=`echo $DATES | sed "s:</pubDate>::g"`

# Conta il numero di torrent recuperati
num=0
for LINK in $LINKS; do
	let "num += 1"
done

# Recupera solo i dati che ci interessano della data,
# cioè giorno, mese e anno (campi 2, 3 e 4).
DAYS=""
MONTHS=""
YEARS=""
counter=0
for DATE in $DATES; do
	let "counter += 1"
	if [ $counter -eq 2 ]; then
		DAYS=`echo $DAYS $DATE`
	fi
	if [ $counter -eq 3 ]; then
		MONTHS=`echo $MONTHS $DATE`
	fi
	if [ $counter -eq 4 ]; then
		YEARS=`echo $YEARS $DATE`
	fi
	if [ $counter -eq 6 ]; then
		counter=0
	fi
done

# Ricostruisce tutte le date nel formato finale che ci interessa.
# Esempio: 27 ottobre 2008 -> 27102008
DATES=""
for i in `seq $num`; do
	DAY=`echo $DAYS | cut -d' ' -f $i`
	case `echo $MONTHS | cut -d' ' -f $i` in
		Jan)
			MONTH=01
			;;
		Feb)
			MONTH=02
			;;
		Mar)
			MONTH=03
			;;
		Apr)
			MONTH=04
			;;
		May)
			MONTH=05
			;;
		Jun)
			MONTH=06
			;;
		Jul)
			MONTH=07
			;;
		Aug)
			MONTH=08
			;;
		Sep)
			MONTH=09
			;;
		Oct)
			MONTH=10
			;;
		Nov)
			MONTH=11
			;;
		Dec)
			MONTH=12
			;;
	esac
	YEAR=`echo $YEARS | cut -d' ' -f $i`
	DATES=$DATES$DAY$MONTH$YEAR`echo " "`
done

# Il file rss scaricato non ci serve più
rm $RSSFILE

# A questo punto abbiamo:
# - $LINKS : lista ordinata di tutti i file .torrent
# - $DATES : lista ordinata di tutte le date

# Scarica i .torrent di ieri
cd $TORRENTDIRECTORY
for i in `seq $num`; do
	if [ `date +%d%m%Y -d "yesterday"` == `echo $DATES | cut -d' ' -f $i` ]; then
		TORRENT=`echo $LINKS | cut -d' ' -f $i`
		wget -c "$TORRENT" -o /dev/null
	fi
done

exit 0


