Radiotray

Résolu/Fermé
thierryR51 - 5 mars 2016 à 19:27
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 6 mars 2016 à 20:15
Bonjour,

Un petit soft existe et est sympas sur son PC pour écouter de la musique en travaillant. Il s'agit de radiotray. Ce soft propose des stations internationale alors qu'en France, on pourrait souhaiter des stations nationales.
http://www.mageialinux-online.org/wiki/radio-tray-lecteur-de-radio-internet-en-streaming
Cependant un fichiers devient vite obsolète et un blog semble quant à lui beaucoup plus à jour. Ne pourrait-on pas inventer un systeme de relation entre le blog et la bibliothèque radiotray ?

http://fluxradios.blogspot.fr/p/flux-radios-francaise.html

Merci.

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 mars 2016 à 13:45
Salut,
Ne pourrait-on pas inventer un systeme de relation entre le blog et la bibliothèque radiotray ?
Si, tout est possible, mais faut se plonger dans les arcanes du HachTeuMeuLeu et en extraire les bonnes données. Après quoi faut mettre en forme tout ça pour construire un fichier xml.

Un début de piste dans le screenshot ci-dessous.
La 1ère commande extrait toutes les url's concernant les radios nationales de cette page.

Les 2e et 3e commandes, extraient les flux .{mp3,m3u,pls,ram,aac} (128 et 64 kbps) d'une des url's prise dans le résultat produit par la commande précédente (Radio Classique).



À partir de là, tu peux construire un script qui automatise ça pour chaque url et qui construise un fichier xml qui serait mis à jour chaque mois par exemple.

0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 mars 2016 à 14:53
Tiens, la liste des stations françaises à rajouter au fichier bookmarks.xml :

    <group name="France">
<bookmark name="Radio Classique" url="http://radioclassique.ice.infomaniak.ch/radioclassique-high.mp3"/>
<bookmark name="Skyrock" url="http://mp3lg3.tdf-cdn.com/4599/sky_151614.mp3"/>
<bookmark name="Skyrock Lille" url="http://mp3lg3.tdf-cdn.com/6306/sky_113809.mp3"/>
<bookmark name="Europe 1" url="http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3"/>
<bookmark name="RFM" url="http://rfm-live-mp3-128.scdn.arkena.com/rfm.mp3"/>
<bookmark name="Virgin radio" url="http://vr-live-mp3-128.scdn.arkena.com/virginradio.mp3"/>
<bookmark name="Virgin Radio Vendée" url="http://www.streamakaci.com/radios/virginradiovendee.m3u"/>
<bookmark name="BFM Business" url="http://bfmbusiness.scdn.arkena.com/bfmbusiness.mp3"/>
<bookmark name="RMC" url="http://rmc.scdn.arkena.com/rmc.mp3"/>
<bookmark name="Radio Nova" url="http://novazz.ice.infomaniak.ch/novazz-128.mp3"/>
<bookmark name="Radio Nova Sauvagine" url="http://broadcast.infomaniak.ch/snb-high.mp3"/>
<bookmark name="TSF Jazz" url="http://tsfjazz.ice.infomaniak.ch/tsfjazz-high.mp3"/>
<bookmark name="Chérie FM" url="http://adwzg3.scdn.arkena.com/8473/nrj_178499.mp3"/>
<bookmark name="Nostalgie France" url="http://adwzg3.tdf-cdn.com/8472/nrj_172793.mp3"/>
<bookmark name="NRJ France" url="http://mp3lg4.scdn.arkena.com/8432/nrj_205243.mp3"/>
<bookmark name="Rire & Chansons" url="http://adwzg3.scdn.arkena.com/8474/nrj_177978.mp3"/>
<bookmark name="Fip" url="http://audio.scdn.arkena.com/11016/fip-midfi128.mp3"/>
<bookmark name="Fip - Bordeaux" url="http://audiots.scdn.arkena.com/11568/fipbordeaux-midfi128TS.mp3"/>
<bookmark name="Fip - Nantes" url="http://audio.scdn.arkena.com/11344/fipnantes-midfi128.mp3"/>
<bookmark name="Fip - Strasbourg" url="http://audio.scdn.arkena.com/11345/fipstrasbourg-midfi128.mp3"/>
<bookmark name="France Bleu" url=""/>
<bookmark name="France Culture" url="http://audio.scdn.arkena.com/11010/franceculture-midfi128.mp3"/>
<bookmark name="France Info" url="http://audio.scdn.arkena.com/11006/franceinfo-midfi128.mp3"/>
<bookmark name="France Inter" url="http://audio.scdn.arkena.com/11008/franceinter-midfi128.mp3"/>
<bookmark name="France Musique" url="http://audio.scdn.arkena.com/11012/francemusique-midfi128.mp3"/>
<bookmark name="Le Mouv'" url="http://audio.scdn.arkena.com/11014/mouv-midfi128.mp3"/>
<bookmark name="R.C.F." url=""/>
<bookmark name="Fun Radio France" url="http://streaming.radio.funradio.fr/fun-1-48-192"/>
<bookmark name="Fun Radio Lorraine" url="http://195.154.167.153:10330"/>
<bookmark name="RTL" url="http://streaming.radio.rtl.fr/rtl-1-48-192"/>
<bookmark name="RTL 2" url="http://streaming.radio.rtl2.fr/rtl2-1-48-192"/>
<bookmark name="Beur FM" url="http://broadcast.infomaniak.ch/beurfm-high.mp3"/>
<bookmark name="France Maghreb 2" url="http://francemaghreb2.ice.infomaniak.ch/francemaghreb2-high.mp3"/>
<bookmark name="La Radio de la Mer" url="http://radiomer.ice.infomaniak.ch/radiomer-128.mp3"/>
<bookmark name="Oüi FM" url="http://ouifm.ice.infomaniak.ch/ouifm-high.mp3"/>
<bookmark name="Phare FM" url="http://str0.creacast.com/pharefm"/>
<bookmark name="Radio FG" url="http://radiofg.impek.com/fg"/>
<bookmark name="Radio Orient" url="http://95.81.147.10/5722/rad_104815.mp3"/>
<bookmark name="RFI (Radio France Internationale)" url="http://rfi-monde-96k.scdn.arkena.com/rfimonde-96k.mp3"/>
<bookmark name="RFI Musique" url="http://rfi-musiquemonde-96k.scdn.arkena.com/rfimusiquemonde-96k.mp3"/>
</group>


En prime le script qui m'a permis de construire cette liste :

#! /bin/bash
#set -x

curl -s -L 'http://fluxradios.blogspot.fr/p/flux-radios-francaise.html' | sed -n "\#</b:if>#,\#>Les radios d'infos trafic<#p" | grep -o 'http://fluxradios[^<]*' | sed 's#\([^"]*\)">\(.*\)$#\2 \1#' > list.tmp

while read line
if [ -z "${line}" ]
then break
fi
nom="${line% *}"
url="${line##* }"
do
flux=$(w3m -dump -cols 120 -T text/html "${url}" | sed -n '/Les flux/,/Les flux ci\|Informations/p' | grep -Po 'kbps.*\Khttp.*' | head -1)
echo -e "        <bookmark name=\"${nom}\" url=\"${flux}\"/>" >> bookmark.xml
done < list.tmp
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
6 mars 2016 à 16:41
C'est magique l'informatique. J'ai exécuté ton script, le fichier bookmark.xml est bien créé. J'ai bien les noms des radios mais pas les URL ?? Apparemment la variable flux reste vide.

Dans ton fichier il y a aussi des url vides. Il faudrait ne pas les enregistrer...

<bookmark name="R.C.F." url=""/>

Merci.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419 > thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021
6 mars 2016 à 16:57
Les url's vides sont la cause d'un formatage de page différent des autres ;-((

http://fluxradios.blogspot.com/2014/07/flux-url-rcf.html
http://fluxradios.blogspot.com/2014/07/flux-url-france-bleu.html

En gras les modifs.

#! /bin/bash
#set -x

curl -s -L 'http://fluxradios.blogspot.fr/p/flux-radios-francaise.html' | sed -n "\#</b:if>#,\#>Les radios d'infos trafic<#p" | grep -o 'http://fluxradios[^<]*' | sed 's#\([^"]*\)">\(.*\)$#\2 \1#' > list.tmp

while read line
if [ -z "${line}" ]
then break
fi
nom="${line% *}"
url="${line##* }"
do
flux=$(w3m -dump -cols 120 -T text/html "${url}" | sed -n '/Les flux/,/Les flux ci\|Informations/p' | grep -Po 'kbps.*\Khttp.*' | head -1)
if [ ! -z "${flux}" ]
then
echo -e " <bookmark name=\"${nom}\" url=\"${flux}\"/>" >> bookmark.xml
fi

done < list.tmp
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
6 mars 2016 à 17:13
Ca y est j'ai trouvé pourquoi les URL étaient vide chez moi.
set -x a parlé. ;-)

w3m n'était pas installé sur mon système......

Compliquons un peu la chose.....
Mon fichier bookmark comporte des personnalisations et je ne voudrais pas les perdre.
Donc il faudrait modifier ce fichier plutôt que le remplacer.
Ce qui serait interressant de faire c'est par exemple:
A la lecture de name="Radio Classique"
remplacer l'url: url="http://radioclassique.ice.infomaniak.ch/radioclassique-high.mp3"/

Je crois qu'une commande sed devrait le faire. ( Je m'avance peut être)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 mars 2016 à 17:27
Heureux que ça marche ;-)

Après il est vrai que j'ai fait au plus simple et le fichier créé doit juste servir à faire un copier/coller de son contenu dans le véritable fichier (qui au passage ne s'écrit pas pareil, il y a un "s" à la fin de boolmarks).
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 mars 2016 à 19:40
Tiens je colle une version légèrement améliorée qui affiche à l'écran chaque radio ajoutée à la liste et aussi celle qui ne le sont pas.

#! /bin/bash
#set -x

curl -s -L 'http://fluxradios.blogspot.fr/p/flux-radios-francaise.html' | sed -n "\#</b:if>#,\#>Les radios d'infos trafic<#p" | grep -o 'http://fluxradios[^<]*' | sed 's#\([^"]*\)">\(.*\)$#\2 \1#' > list.tmp

while read line
do
if [ -z "${line}" ]
then break
fi
nom="${line% *}"
url="${line##* }"
echo -n "${nom}.... "
flux=$(w3m -dump -cols 120 -T text/html "${url}" | sed -n '/Les flux/,/Les flux ci\|Informations/p' | grep -Po 'kbps.*\Khttp.*' | head -1)
if [ ! -z "${flux}" ]
then 
echo -e "        <bookmark name=\"${nom}\" url=\"${flux}\"/>" >> bookmark.xml
echo "URL ajoutée."
else
echo "Pas d'URL."
fi
done < list.tmp


Résultat des courses :

$ ./radiotray.sh 
Radio Classique.... URL ajoutée.
Skyrock.... URL ajoutée.
Skyrock Lille.... URL ajoutée.
Europe 1.... URL ajoutée.
RFM.... URL ajoutée.
Virgin radio.... URL ajoutée.
Virgin Radio Vendée.... URL ajoutée.
BFM Business.... URL ajoutée.
RMC.... URL ajoutée.
Radio Nova.... URL ajoutée.
Radio Nova Sauvagine.... URL ajoutée.
TSF Jazz.... URL ajoutée.
Chérie FM.... URL ajoutée.
Nostalgie France.... URL ajoutée.
NRJ France.... URL ajoutée.
Rire & Chansons.... URL ajoutée.
Fip.... URL ajoutée.
Fip - Bordeaux.... URL ajoutée.
Fip - Nantes.... URL ajoutée.
Fip - Strasbourg.... URL ajoutée.
France Bleu.... Pas d'URL.
France Culture.... URL ajoutée.
France Info.... URL ajoutée.
France Inter.... URL ajoutée.
France Musique.... URL ajoutée.
Le Mouv'.... URL ajoutée.
R.C.F..... Pas d'URL.
Fun Radio France.... URL ajoutée.
Fun Radio Lorraine.... URL ajoutée.
RTL.... URL ajoutée.
RTL 2.... URL ajoutée.
Beur FM.... URL ajoutée.
France Maghreb 2.... URL ajoutée.
La Radio de la Mer.... URL ajoutée.
Oüi FM.... URL ajoutée.
Phare FM.... URL ajoutée.
Radio FG.... URL ajoutée.
Radio Orient.... URL ajoutée.
RFI (Radio France Internationale).... URL ajoutée.
RFI Musique.... URL ajoutée.
0
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
6 mars 2016 à 20:06
Que penserais tu de mettre les bookmarks d'origines dans un tableau pour les modifier ensuite, car je pense que pour faire une mise à jour d'une liste, il faut relire autant de fois le fichier qu'il y a de lignes ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 mars 2016 à 20:15
Pas forcément.

Si la mise à jour ne doit porter que sur la liste des radios françaises, autant supprimer la partie correspondante dans le fichier original et remettre la nouvelle liste à la place, non ?

En gros supprimer de
<group name="France">
jusqu'à la fin du fichier :
sed -i.bak '\#<group name="France">#,$ d' ~/.local/share/radiotray/bookmarks.xml


Et en faisant un petit rajout à la construction du fichier bookmark.xml (rajout d'un entête :
<group name="France">

et d'un pied :
    </group>
</group>
</bookmarks>

On pourrait directement l'inclure à la fin de l'original :
cat bookmark.xml >> ~/.local/share/radiotray/bookmarks.xml
0