Page 1 sur 1

[obmenu] sortie pipemenu invalide (résolu)

Publié : dim. 15 avr. 2012, 17:21
par onyx67
Bonjour,

Je cherche à utiliser un "pipemenu" openbox pour afficher mes mails (gmail) non lus. J'ai trouvé sur le net un exemple de script que j'ai modifié pour mes besoins:

Code : Tout sélectionner

#!/bin/bash

gmail_login="pseudo"
gmail_password="mot de passe"

dane="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*//;s/<\/fullcount>.*//' 2>/dev/null)"

 

if [ -z "$dane" ]; then
echo "Connection Error !"
else
echo "$dane non lus"
fi
J'ai ensuite fait un chmod +x gmail.sh pour le rendre exécutable et l'ai placé dans ~/.config/openbox

La commande utilisé dans pipemenu: ~/.config/openbox/gmail.sh
Lorsque je pointe ma souris sur "gmail" du menu j'ai un message d'erreur "sortie pipemenu invalide". Tous mes autres pipemenus fonctionnant correctement, je pencherai a priori pour une erreur de script, mais je n'arrive pas à voir laquelle. Quelqu'un aurait-il une idée de ce qui cloche?
Merci pour votre aide

Re: [obmenu] sortie pipemenu invalide

Publié : dim. 15 avr. 2012, 18:35
par benjarobin
Voila :D

Code : Tout sélectionner

dane="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
--no-check-certificate | sed -n -e 's/.*<fullcount>\(.*\)<\/fullcount>.*/\1/p' 2>/dev/null)"
Enfin si ton but est que la variable dane soit égale au nombre de message non lu

Re: [obmenu] sortie pipemenu invalide

Publié : dim. 15 avr. 2012, 19:09
par onyx67
merci benjarobin.
J'ai toujours la même erreur. En supprimant l'entrée, j'ai un message m'indiquant: "des erreurs de syntaxe XML dans les fichiers de configuration openbox ont été trouvées, voir stdout pour plus d'infos. La dernière erreur vue était dans le fichier "(null)", ligne 1, avec le message: start tag expexted, "<" not found"

Re: [obmenu] sortie pipemenu invalide

Publié : dim. 15 avr. 2012, 19:48
par benjarobin
Je ne connais pas obmenu / pipemenu, mais d'après l'erreur je dirais qu'il s'attend à de l'XML en sortie alors que toi c'est du texte brute
Bon après lecture très rapide de la doc : http://openbox.org/wiki/Help:Menus, c'est bien de l'XML en sortie

Code : Tout sélectionner

if [ -z "$dane" ]; then
    dane="Connection Error !"
else
    dane="$dane non lus"
fi

echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
echo "<openbox_pipe_menu>"
echo "    <item label=\"$dane\">"
echo "    </item>"
echo "</openbox_pipe_menu>"

Re: [obmenu] sortie pipemenu invalide

Publié : dim. 15 avr. 2012, 20:17
par onyx67
C'était bien la sortie XML qui manquait au script. Mes mails non lus s'affichent correctement!
Merci pour le coup de main. Sujet résolu.