############################################################################### # Copyright (C) 2009 Mariano Spadaccini mariano@marianospadaccini.it # # # # scarica_da_radio24.pl is free software; you can redistribute it # # and/or modify it under the terms of the GNU General Public License # # as published by the Free Software Foundation; either version 2 of the # # License, or (at your option) any later version. # # # # switchTraf is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License along # # with this program; if not, write to the Free Software # # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # ############################################################################### Problema: Ci sono diversi programmi di 'Radio 24' che mi interssano. Alcuni di questi ('Nove in punto, la versione di Oscar', 'Melog 2.0', 'Salvadanaio', "Jefferson 2 L'arte della svolta", 'Focus esonomia') riesco molto spesso a seguirli in diretta. Altri ('Un abuso al giorno toglie il codice d'intorno', '24 Mattino', 'La Zanzara') non riesco mai a seguirli per intero. Fortunatamente, la radio ha un servizio di archiviazione, per cui le tramissioni, ripulite dalle interruzioni quali spot e altro, sono memorizzate in .mp3 e rese fruibile sul web. Attualmente lo standard e' il seguente http://www.radio24.it/radio24_audio/$aa$mm$gg-$trasmissione.mp3 in cui: - $aa, $mm, e $gg rispettivamente sono le ultime due cifre dell'anno, le due cifre del mese e quello del giorno. Se la cifra del mese o del giorno e' una, la si fa precedere da uno zero; - $trasmissione e' il nome della trasmissione (fortunatamente normalizzata per l'uso del web). Se non si comprende il significato di "fortunatamente normalizzata per l'uso del web" non e' un problema. E' solo un piccolo richiamo per chi non lo fa. Ma chi non normalizza non capisce, e non si esce piu' da questo ciclo. Soluzione non automatizzata: La mattina, quando potevo, davo il comando wget http://www.radio24.it/radio24_audio/$aa$mm$gg-$trasmissione.mp3 con le variabili interpolate come gia' spiegato. Effettivamente era una scocciatura, perche' dovevo ricordarmi l'uri corretta (il link) e cio' non e' molto simpatico. Inoltre il link cambia ogni giorno, ricordarmi che giorno e', ..., troppo complicato. :-) E la storia si complica perche' la fruibilita' della trasmissione non e' immediata. Quindi, ho preferito adottare la successiva soluzione proposta. Soluzione automatizzata: Ho scritto uno script perl che si chiede il giorno, verifica la presenza delle trasmissioni in locale e, se non ci sono, le prova a scaricare. Rieseguo lo script ogni 2 ore circa cosicche' avro', (quasi) contemporaneamente la pubblicazione online, la trasmissione disponibile nella mia area di storage. Ovviamente scrivendo 'Rieseguo lo script ogni 2 ore circa', non implica che lancio lo script manualmente, altrimenti qvrei fatto un piccolo passo di automatizzazione. Pertanto l'ho inserito nel 'crontab', affiche' sia il mio sistema a pensarci. Un unico accorgimento: quando lo script e' lanciato, questo non procedera' immediatamente nella verifica e nell'eventuale scaricamento, ma aspetta un intervallo casuale di tempo che e' compreso tra 60 e 360 secondi. Personalizzazione: Nell'elenco delle trasmissioni ho messo 'lazanzara', '24mattino' e 'un-abuso-al-giorno'. Questi nomi sono quelli normalizzati che citavo precedentemente. Se volete un'altra trasmissione, arrangiatevi. No, sul sersio, scrivetemi pure, all'indirizzo email citato da quelche parte in questo documento. La variabile $home dovrete personalizzarla assegnandole la vostra area di storage. Problemi Se avete problemi, scrivete pure al mio indirizzo email che trovate scritto da quelche parte Nota (che potrei risparmiarmi, ma non voglio): 'Parliamo con l'Elefante' e' un programma odioso. Nota 2: ho impiegato piu' tempo a scrivere questa piccolissima guida che a scrivere il programma. Forse sono piu' bravo a creare programmi che scrivere in italiano. Chissa'.