#1 Le 05/02/2020, à 17:10
- loutch
script pour radiotray ne fonctionne plus
Bonjour
mon script pour radiotray ne fonctionne plus il ne trouve pas l'image du titre joué ( il a toujours fonctionné ) je pense que Google à de nouveau modifié un truc pour faire c.....
!/bin/bash
qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | grep artist |sed 's/^.*" \: "//' |sed 's/",.*$//' > artiste_titre.txt
qdbus com.github.radiotray_ng /com/github/radiotray_ng com.github.radiotray_ng.get_player_state | grep title |sed 's/^.*" \: "//' |sed 's/",.*$//' | cut -c1-11 >> artiste_titre.txt
titre=$(cat artiste_titre.txt)
lynx --source -useragent="Googlebot-Image/1.0" "www.google.fr/search?q=$titre\&tbm=isch" | perl -pe 's!.*?<img .*?src="([^"]*)".*!$1!' > lienMiniaturefile
sed -i 's/^.* http\:/http\:/' lienMiniaturefile
sed -i '/gstatic/!d' lienMiniaturefile
lienMiniature=$(cat lienMiniaturefile)
lynx -dump "$lienMiniature" > miniatureGoogleImage
convert miniatureGoogleImage pochette.png
Merci d'avance et
@+
Hors ligne
#2 Le 06/02/2020, à 05:33
- Bacchux
Re : script pour radiotray ne fonctionne plus
Bonjour loutch
Si je comprends bien malgré l'absence de commentaires dans le code, ce script crée le lien de l'image donné à lynx (que je ne connais pas) pour récupérer le contenu de l'image soumis à convert.
Le premier appel de sed fait l'hypothèse que le lien est en http:/
Ne serait-il pas passé en https:/ ?
Si ce n'est pas la raison, je ne saurai pas en dire plus.
Bon courage.
Beatux qui prodest quibus potest
Atelier linux (Ubuntu et Suse)
Hors ligne
#3 Le 06/02/2020, à 14:01
- twocats
Re : script pour radiotray ne fonctionne plus
Salut,
Déjà ton shebang est incorrect, il manque le # au début. Je te recommande d’ailleurs plutôt d'utiliser :
#!/usr/bin/env bash
La réponse est 42
Hors ligne
#4 Le 06/02/2020, à 16:24
- grandtoubab
Re : script pour radiotray ne fonctionne plus
perso quand je mets au point un script je rajoute
set -x
pour avoir les erreurs
et j'ajoute des echo pour voir ou j'en suis par exemple
echo $titre
echo $lienMiniature
Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....
Hors ligne
#5 Le 06/02/2020, à 19:06
- Watael
Re : script pour radiotray ne fonctionne plus
salut,
[OT]
Je te recommande d’ailleurs plutôt d'utiliser :
#!/usr/bin/env bash
ça reste un mystère pour moi : comment, si tu ne sais pas où est bash, peux-tu être sûr de l'emplacement de env ?
[/OT]
pour demander de l'aide il faut fournir les données (ou au moins un échantillon représentatif), le résultat attendu, et quelques détails sur les commandes mises en œuvre, les messages d'erreurs complets...
sinon, c'est comme balancer une clé anglaise à travers l'atelier, en disant : "ça marche pas."
Dernière modification par Watael (Le 06/02/2020, à 19:08)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#6 Le 06/02/2020, à 19:51
- grandtoubab
Re : script pour radiotray ne fonctionne plus
chez moi il s'agit bien de bash
ls -alrt /usr/bin/bash
-rwxr-xr-x 1 root root 1168776 nov. 10 11:45 /usr/bin/bash
Chez moi le soucis serait plûtot de mettre /usr/bin/sh car il pointe sur dash
ls -alrt /usr/bin/sh
lrwxrwxrwx 1 root root 4 juil. 18 2019 /usr/bin/sh -> dash
ls -alrt /usr/bin/dash
-rwxr-xr-x 1 root root 121464 juil. 18 2019 /usr/bin/dash
Bref pour moi ce sera toujours #!/usr/bin/bash
Dernière modification par grandtoubab (Le 06/02/2020, à 19:52)
Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....
Hors ligne
#7 Le 06/02/2020, à 21:01
- Watael
Re : script pour radiotray ne fonctionne plus
moi, j'en reste bêtement à /bin/bash; sachant que /bin/ est un lien vers /usr/bin/.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#8 Le 08/02/2020, à 08:52
- loutch
Re : script pour radiotray ne fonctionne plus
bonjour
Salut,
Déjà ton shebang est incorrect, il manque le # au début. Je te recommande d’ailleurs plutôt d'utiliser :
#!/usr/bin/env bash
Juste un oublie lors du copier-coller .
je pencherai plutôt vers google qui a changer un truc dans ses api ou autre .
avant le script utilisait wget
@+
Hors ligne
#9 Le 08/02/2020, à 10:22
- bruno
Re : script pour radiotray ne fonctionne plus
salut,
[OT]Je te recommande d’ailleurs plutôt d'utiliser :
#!/usr/bin/env bash
ça reste un mystère pour moi : comment, si tu ne sais pas où est bash, peux-tu être sûr de l'emplacement de env ?
[/OT]
Outre le fait qu'il n'y a pas , à ma connaissance, d'emplacement standard pour env, c'est une mauvaise idée pour les motifs bien argumentés dans le première réponse ici :
https://unix.stackexchange.com/question … name-as-my
Pour résumer , l'inconvénient majeur c'est que le script sera exécuté par le bash présent dans la variable $PATH de l'utilisateur et donc pas forcément le bash standard fourni par le système.