joi, 2 decembrie 2010

Cum sa fii anuntat pe desktop cand apar serialele preferate pe EZTV

Ca multi altii, urmaresc seriale tv de pe torente si cel mai bun site la ora actuala pentru asa ceva este EZTV.
La ei apare la 7-8 ore dupa ce a fost difuzat pe posturile tv de afara si il poti downloada.
Chestia e ca ma enerveaza sa ma uit mereu pe site sa caut daca a mai aparut ceva intre timp, ca atare, mi-am facut un scriptulet in BASH pentru conky (jucaria aia tare care sta pe desktop si monitorizeaza tot felul de chestii)

Ideea era sa am un folder pe care il specific in setarile Transmission sa downloadeze automat cand il deschid, insa pana atunci sa imi sara in ochi cand apare serialul si sa am si fisierele sursa torrent downloadate deja in acel folder din home.
Adica mai pe romaneste, sa nu mai stau toata ziua calare pe site-ul lor.

Bun, avem cateva variabile pe care trebuie sa le schimbam in script in functie de preferinte:
shows - contine lista de cuvinte cheie dupa care scriptul selecteaza doar serialele pe care le vrem, separate de pauze si cu litere mici. Exemplu: daca vreau Dexter, voi scrie dexter
standard_resolution - variabila specifica daca sa renunte la torentele in versiune 720p sau nu si poate avea valorile yes sau no
location - numele folderului in care vom tine fisierele torent sursa si pe care scriptul are grija sa il creeze singur. Logic, e in home.

De asemeni scriptul creaza un fisier ascuns .tordwn cu ajutorul caruia stie ce a fost deja downloadat ca sa nu-l mai ceara inca o data.Practic, e ca un fel de history.

Ce avem de facut? Deschidem un gedit, si dam copy/paste scriptul ce urmeaza:
#!/bin/bash



#Environment Setup
shows="eureka vampire nikita stargate being caprica sanctuary merlin fringe" # the lowercase show keynames
standard_resolution="yes" # set to "yes" to filter out 720p versions and "no" to get them all

location="eztvtorrents" #this is the name of the personal folder where you get the torrent files



#Checking some things
if [ ! -f ~/.tordwn ] ; then
echo "" > ~/.tordwn
fi
if [ ! -d $HOME/$location ] ; then
mkdir $HOME/$location
fi



#Creating list of url's from rss feed
URI=http://www.ezrss.it/feed/
EXEC="/usr/bin/curl -s"
brutrss=$($EXEC $URI | grep enclosure)
match="url"
for k in $brutrss; do
[[ "$k" =~ "${match}" ]] && echo $k | cut -d'"' -f2 >> /tmp/urls_rss

done



#Filtering shows according to variable
for k in $(cat /tmp/urls_rss); do
ftr=$(echo "$k" | awk '{
gsub(/\./, " ");

print tolower($0)}')
for m in $shows; do
[[ "$ftr" =~ "${m}" ]] && echo $k | cut -d'"' -f2 >> /tmp/fltr_rss

done
done



#Checking if is already downloaded and if not, downloading torrent files
mkdir /tmp/torrents
cd /tmp/torrents
for tor in $(cat /tmp/fltr_rss); do
# check if it's already downloaded

existent="nope"

for alreadydown in $(cat ~/.tordwn); do
if [ "$alreadydown" = "$tor" ] ; then

existent="yep"
fi
done
if [ "$existent" = "nope" ] ; then

wget -q $tor
echo $tor >> ~/.tordwn
fi
done



#Removing 720p versions if $standard_resolution is set to "yes"
if [ "$standard_resolution" = "yes" ] ; then
match="720p"
for k in $( ls /tmp/torrents ); do
[[ "$k" =~ "${match}" ]] && rm -f /tmp/torrents/$k
done
fi



#Copy to personal folder and cleanup temp
if [ -d "/tmp/torrents" ] ; then
for trm in $(ls /tmp/torrents); do
cp /tmp/torrents/$trm $HOME/$location/
done
fi
rm -Rf /tmp/torrents
rm -f /tmp/fltr_rss
rm -f /tmp/urls_rss



#Displaying final list of torrents
for name in $( ls $HOME/$location ); do
echo $name
done
Salvam ca ~/bin/rssget si-i dam drepturi de executie cu un chmod +x ~/bin/rssget sau cu nautilus daca nu suportati terminalul.
Ca sa il execute conky, adaugam in .conkyrc tot cu gedit, liniile urmatoare:
${if_existing /proc/net/route eth0}${font Ubuntu:size=8}${color4}TV torrents to download: ${color}
$stippled_hr
${voffset -2}${font Ubuntu:size=7}${color1}${execi 60 ~/bin/rssget}${color white}
${endif}

Si asta a fost. Acum suntem anuntati imediat ca avem ce downloada si vedea :)

Share this on: Share On Facebook ! Add To Del.icio.us ! Share On Digg ! Share On StumbleUpon ! Blog Feed !

0 comentarii:

Trimiteți un comentariu