06 November 2006

Ripping Vaughan Radio programs.

Voy a poner aqui para el que quiera (y pueda) utilizar estos utiles
programitas:

-Requirements: Python, bash, at y streamripper.
--------------
rip.vaughan.sh

#!/bin/bash

# Parametros varios
DATE=`date +%m-%d--%H-%M`
PROGRAM=`/home/miko/bin/streams/horarios.py`
FILENAME="$PROGRAM-$DATE"
DIR="/home/miko/Streamripper_rips/English/"

# Rip stream
cd $DIR
streamripper

http://www.vaughanradio.com/vaughanradio.pls -o never -d
$DIR -l 1200 -q -s -u "WinampMPEG/5.23" -a $FILENAME

# Set Ide Tag to Album: English
tagmp3 set "%a:English %t:$FILENAME" $FILENAME.mp3

# Delete the .cue files
rm -f *.cue

-------------------
at.lanzar.vaughan.sh
#!/bin/bash

for time in 8:02 8:32 9:02 9:32 10:02 10:32 11:02 11:32 12:02 12:32 13:02
13:32 14:02 14:32 15:02 15:32 16:02 16:32 17:02 17:32 18:02 18:32 19:02 19:32
20:02 20:32 21:02 21:32 22:02 22:32 23:02 23:32 24:02;
do
at -f /home/miko/bin/streams/rip.vaughan.sh $time today;
done;

at -f /home/miko/bin/streams/at.lanzar.vaughan.sh 9:29 tomorrow;


--------------------
horarios.py

#!/usr/bin/python
#
# My program to stract the program from timetable of Vaughan radio
# THIS IS FROM MONDAY-FRIDAY.

# Para coger los horarios
# wget http://www.vaughanradio.com/parrillaentera.htm

# wget http://www.vaughanradio.com/parrillafindesemana.htm

# Y convertirlos a texto
# html2text -style compact -nobs -ascii -width 140 parrillaentera.htm >
horarios.txt
# html2text -style compact -nobs -ascii -width 140 parrillafindesemana.htm >
finde.txt

from string import *
import sys
from time import *

# Take actual time
hour=localtime()[3] + 1 # Add one hour, because I am in Portugal.
minute=localtime()[4]
weekday=localtime()[6] # 0=Monday, 5=Saturday

if weekday<5:

#file_with_timetable=sys.argv[1]
file_with_timetable="/home/miko/bin/streams/horarios.txt"

# Open file and read
infile=open(file_with_timetable,"r")
F=infile.readlines()
infile.close()

# Remove some lines
lines_to_delete=(44,43,42,41,40,15,14,13,12,2,1,0)
for n in lines_to_delete:
del F[n]

else:
file_with_timetable="/home/miko/bin/streams/finde.txt"

# Open file and read
infile=open(file_with_timetable,"r")
F=infile.readlines()
infile.close()

# Remove some lines
lines_to_delete=(36,2,1,0)
for n in lines_to_delete:
del F[n]

# Calculate line to read
if minute>=30:
line=(hour-7)*2
else:
line=((hour-7)*2)-1


# Split line and take program's name
result=F[line]
result=result[6:]
result=strip(result)
program_name=split(result,"|")

if weekday<5:
print strip(program_name[weekday+1],"_")
else:
print strip(program_name[weekday-5+1],"_")


--------------
=== Resumen: =========================

Un programa te dice cual es el nombre del programa en funcion de la hora
actual.
Este es usado por el streamripper.
'at' Se encarga de lanzar el ripper cada 30minutos en un rango de horas, y se
vuelve a ejecutar al dia siguiente a una hora concreta.

--
No hay mucho mas que explicar, ya que el que pueda entender entendera y el que
no seguira esperando que se lo pongan en ventanas.

Nota: Puede que me halla comido algo quitando los comentarios del codigo
(sorry).
Cualquier comentario es bienvenido, sobretodo si te sirve para algo y/o es
constructivo.

Keywords: Vaughan, radio, programa, mp3, rippear, stream, datos, archivos,
automaticamente.

--
Certo dia minha namorada pediu que eu escolhesse entre ela e o Linux ...
Que pena Joana, sinto sua falta!

0 Comments:

Post a Comment

<< Home

Too Cool for Internet Explorer