Dans le précédent article, j'indiquais comment associer un script à une icône et «mettre le tout » dans la barre d'Unity. Aujourd'hui je vous propose de se servir de cette facilité et de récupérer le titre d'une musique et de l'écouter sur Youtube (aux fins d'un éventuel téléchargement via downloadhelper dans Firefox).
J'ai l'habitude d' écouter une excellente radio francophone : radio meuh http://www.radiomeuh.com/site/index.php. Dès que jentends un bon titre je sauvegarde la playlist courante. Cette dernière me servira à faire la recherche par la suite dans Youtube. J'ai réalisé ceci au travers deux scripts.
Le premier enregistre la playlist, le second lance Youtube avec sa barre de recherche DÉJÀ renseignée avec le titre du morceau qui passait lors de la sauvegarde de la playlist.
Dans la celle-ci le morceau qui m'intéresse est toujours indiqué en gras (et se situe en ligne 27 quand on lit son code html). C'est ce qui va être repris par le second script. Ce dernier va «analyser» la page, n'extraire que ce qui nous intéresse et lancer Youtube avec les références du titre (nom de l'artiste - album - titre).
J'ai appelé le premier script : playlist_meuh
#!/bin/bash
#on récupère la playlist
wget http://www.radiomeuh.com/site/playlist/index.php
#on la déplace sur le bureau
mv index.php /home/user/Bureau/play_list_radio_meuh.html
le second s'appelle : chercher_youtube_playlist_meuh
#!/bin/bash
#on se place d'office sur le bureau
cd /home/user/Bureau/
#on récupère la 27eme ligne c'est elle qui contient les références du titre joué lors de la "capture" de la playlist
chaine=$(sed -n '27p' play_list_radio_meuh.html)
#on envoie le tout dans un fichier temporaire toto.txt
echo $chaine > toto.txt
#on récupère les balises et ce qui il y a dedans
chaine=$(grep -o '<br.*/td>' toto.txt)
echo "$chaine" > toto.txt
#on remplace les balises par... rien
sed -i -e "s/<br>/ /g" toto.txt
sed -i -e "s/<br\/>/ /g" toto.txt
sed -i -e "s/<\/td>/ /g" toto.txt
sed -i -e "s/<BR.*/ /g" toto.txt
sed -i -e "s/&/ /g" toto.txt
#on récupère la ligne nettoyée
chaine=$(sed -n '1p' toto.txt)
#on envoie le contenu ce cette ligne dans le query de Youtube
firefox http://www.youtube.com/results?search_query="$chaine"
L'utilisation de ces deux scripts est triviale. D'abord lancez la récupération de la playlist, puis lancez le second script. Ce dernier vous ouvrira une page Youtube sous Firefox avec les références musicales DÉJÀ indiquées dans la barre de rechercher Youtube. A l'usage vous verrez que c'est d'un très grand confort d'utilisation.