|
| nabsend : Script shell pour commander son lapin | |
| | Auteur | Message |
---|
naf Nabz Junior
Nabaztag : naf Nbr de messages : 77 Carottes : 6997
| Sujet: nabsend : Script shell pour commander son lapin Mar 1 Nov 2005 - 2:22 | |
| Bonjour, Juste pour faire mentir le sondage en cours :cherry: , je viens de finir un petit script shell utilisant l'API du lapin grace à la commande wget, utilisable sous linux en l'état. Je lui ai donné le petit nom 'nabsend'. Ainsi, je peux avoir des rappels réguliers via la crontab, ou alors être prévenu par mon lapin quand un processus critique est tombé Exemples d'utilisation: - Code:
-
nabsend -m 10398 fera jouer 'les chariots de feu' au lapin. - Code:
-
nabsend -l 3 -r 13 lui mettra les oreilles de travers Voici le code du script; tout est décrit dedans; pour l'adapter à votre lapin il faut remplir les variables sn et token. - Code:
-
#!/bin/sh
sn="00039DXXXXXX" # Remplacer les XX par le vrai no de serie du lapin token="" # copier/coller le token du lapin
file=/dev/null # par defaut, la sortie n'est pas conservée opt="-q"
Usage() { echo >&2 echo >&2 "Usage: $0 option(s)" cat >&2 <<EOF Sends command to your nabaztag. The options are: Commands: At least one of these must be present. -m <idmessage> Message number to send.
-l <position> Position of left ear, between 0 and 16 -r <position> Position of right ear, between 0 and 16 Options: -f <filename> Dumps nabaztag's server output to <filename> (- for stdout). Useful if something goes wrong. -h Display this help and exit. EOF }
IsNum() { # check that $1 is numeric # there's got to be a better way than this. [ $1 -ge 0 ] && return 0 ; return 1 ; }
Validate() { [ $1 -ge 0 ] && [ $1 -le 16 ] && return 0 ; return 1 ; }
while getopts f:m:l:r:hd o ; do case "$o" in f) file="$OPTARG" ;; m) if IsNum $OPTARG ; then idmessage="$OPTARG" ; else echo >&2 "$0 : invalid argument to -m" Usage exit 1 ; fi ;; l) if Validate $OPTARG ; then posleft="$OPTARG" ; else echo >&2 "$0 : invalid argument to -l" Usage exit 1 ; fi ;; r) if Validate $OPTARG ; then posright="$OPTARG" ; else echo >&2 "$0 : invalid argument to -r" Usage exit 1 ; fi ;; d) opt="" ;; [?]|h) Usage exit 1;; esac done
[ x$idmessage = x ] && [ x$posright = x ] && [ x$posleft = x ] && \ echo >&2 "$0: at least one of the l, r or m command must be specified!!" && \ Usage && exit 1 ;
wget $opt -O $file "http://www.nabaztag.com/vl/FR/api.jsp?sn=$sn&posleft=$posleft&posright=$posright&token=$token&idmessage=$idmessage"
| |
| | | starox Lapin nain
Nabaztag : starox Nbr de messages : 5 Carottes : 6914
| Sujet: Marche pô !!! Dim 18 Déc 2005 - 18:40 | |
| Cela fait longtemps que j'ai mon lapin et je me suis enfin décidé à tripatouiller mon procmailrc. Le premier réflexe que j'ai eu c'est de faire d'abord un test avec wget sur le lapin et j'ai eu une belle page d'erreur tomcat J'ai fait un autre test avec curl et j'obtiens la même chose ... Je copie-colle l'adresse que j'ai confectionné dans firefox et ça passe sans problème ! Aurais-tu les mêmes soucis en ce moment ? | |
| | | nabubuz Lapin nain
Nabaztag : Nabubuz Nbr de messages : 26 Carottes : 6938
| Sujet: Re: nabsend : Script shell pour commander son lapin Dim 18 Déc 2005 - 21:47 | |
| Afin de pouvoir envoyer des messages depuis mon domicile mais également depuis mon boulot où l'accès à Internet se fait via un proxy, je me suis permis de faire une petite modification du script de naf : - Code:
-
#!/bin/sh
sn="00039Dxxxxxx" # Remplacer les XX par le vrai no de serie du lapin token="123456" # copier/coller le token du lapin
file=/dev/null # par defaut, la sortie n'est pas conservée opt="-q" proxy="--no-proxy"
Usage() { echo >&2 echo >&2 "Usage: $0 option(s)" cat >&2 <<EOF Sends command to your nabaztag. The options are: Commands: At least one of these must be present. -m <idmessage> Message number to send.
-l <position> Position of left ear, between 0 and 16 -r <position> Position of right ear, between 0 and 16 Options: -f <filename> Dumps nabaztag's server output to <filename> (- for stdout). Useful if something goes wrong. -p Use proxy information from http_proxy environment variable. -h Display this help and exit. EOF }
IsNum() { # check that $1 is numeric # there's got to be a better way than this. [ $1 -ge 0 ] && return 0 ; return 1 ; }
Validate() { [ $1 -ge 0 ] && [ $1 -le 16 ] && return 0 ; return 1 ; }
while getopts f:m:l:r:phd o ; do case "$o" in f) file="$OPTARG" ;;
p) proxy="--proxy" ;; m) if IsNum $OPTARG ; then idmessage="$OPTARG" ; else echo >&2 "$0 : invalid argument to -m" Usage exit 1 ; fi ;; l) if Validate $OPTARG ; then posleft="$OPTARG" ; else echo >&2 "$0 : invalid argument to -l" Usage exit 1 ; fi ;; r) if Validate $OPTARG ; then posright="$OPTARG" ; else echo >&2 "$0 : invalid argument to -r" Usage exit 1 ; fi ;;
d) opt="" ;; [?]|h) Usage exit 1;; esac done
[ x$idmessage = x ] && [ x$posright = x ] && [ x$posleft = x ] && \ echo >&2 "$0: at least one of the l, r or m command must be specified!!" && \ Usage && exit 1 ;
wget $opt $proxy -O $file "http://www.nabaztag.com/vl/FR/api.jsp?sn=$sn&posleft=$posleft&posright=$posright&token=$token&idmessage=$idmessage"
Après, il suffit de passer le paramètre '-p' pour utiliser le proxy qui doit être définit (serveur + port) dans la variable d'environnement http_proxy comme ci-dessous : - Code:
-
export http_proxy=http://proxy.domain.com:8080 Sinon, Leroy, pour répondre à ta question, je n'ai pas de souci avec nabsend en ce moment mais il me semble que le site Nabaztag a encore eu quelques soucis aujourd'hui. As-tu refait une tentative récemment ?
Dernière édition par le Lun 19 Déc 2005 - 21:36, édité 1 fois | |
| | | starox Lapin nain
Nabaztag : starox Nbr de messages : 5 Carottes : 6914
| Sujet: Re: nabsend : Script shell pour commander son lapin Dim 18 Déc 2005 - 22:15 | |
| C'ets moi LEROY ! C'est cool enfin un forum où on peut facilement changer de surnom quand on se plante ... j'étais pas réveillé tout à l'heure (Je le suis encore moins là )
Bon, je n'ai pas de problème de proxy, j'ai essayé depuis 2 machines différentes (2 provider différents).
Je viens de réessayer et ça me fait toujours la même chose en ce moment. Cela marche sous mozilla-firefox, mais pas avec wget et curl. J'ai changé le User-Agent sans succès, mais je vais refaire des essais.
Avez-vous essayé de vous envoyer un message à l'instant ? | |
| | | starox Lapin nain
Nabaztag : starox Nbr de messages : 5 Carottes : 6914
| Sujet: Encore d'autre tests ... Dim 18 Déc 2005 - 22:53 | |
| Bon voilà voilà : Avec le même user agent que firefox, ça ne marche pas. Sur firefox, après avoir viré tous les cookies, ça marche, donc ça ne nécessite pas un cookie. Avec wget et surtout curl j'ai essayé en vrac http1.1 http1.0 post, get , avec ou sans referer, par telnet ... ça ne marche pas , je commence à sérieusement sécher . J'ai dû louper un truc | |
| | | starox Lapin nain
Nabaztag : starox Nbr de messages : 5 Carottes : 6914
| Sujet: ça marche !!! Lun 19 Déc 2005 - 12:43 | |
| Le service technique de Violet est toujours aussi bon et rapide En fait dans ma requête il manquait le champs Accept-Language et cela faisait planter les servlets. Ils ont déjà corrigé le problème, tout est en ordre maintenant | |
| | | kcud_dab Lapin nain
Nbr de messages : 1 Carottes : 6911
| Sujet: Re: nabsend : Script shell pour commander son lapin Mer 21 Déc 2005 - 22:17 | |
| Question stupide... comment on connait les numéros qui conrespondent aux sons ?
par ex: nabsend -m 10398 | |
| | | naf Nabz Junior
Nabaztag : naf Nbr de messages : 77 Carottes : 6997
| Sujet: Re: nabsend : Script shell pour commander son lapin Sam 24 Déc 2005 - 11:40 | |
| Bonjour, ravi de voir que ce script vous sert, faut pas hésiter à y apporter des améliorations, c'est fait pour ça ! J'avais l'impression que depuis l'histoire du 'Accept-Language' à rajouter, ça ne marchait plus, et la je suis en vacances loin de mon lapin, donc je ne peux pas tester! kcud_dab, Pour connaître le numéro du message (option -m), c'est inscirt dans la doc de l'API, il s'affiche dans une bulle quand tu passes dessus avec la souris depuis www.nabaztag.com. | |
| | | starox Lapin nain
Nabaztag : starox Nbr de messages : 5 Carottes : 6914
| Sujet: Re: nabsend : Script shell pour commander son lapin Sam 24 Déc 2005 - 17:13 | |
| - naf a écrit:
- Bonjour,
ravi de voir que ce script vous sert, faut pas hésiter à y apporter des améliorations, c'est fait pour ça !
Oui oui ! ça sert, je l'ai un petit peu modifier surtout en ce qui concerne le '&item=' qui est vide quand on fait bouger les oreilles et la requête renvoie une erreur à ce moment. Mais bon, c'est la période des fêtes, je fais juste un rapide passage, je me manifesterais un peu plus tard. - Citation :
kcud_dab, Pour connaître le numéro du message (option -m), c'est inscirt dans la doc de l'API, il s'affiche dans une bulle quand tu passes dessus avec la souris depuis www.nabaztag.com.
Je pensais aussi faire une liste qu'on puisse télécharger pour faire des greps et trouver l'id du message qu'on veut envoyer, sans avoir à sortir le navigateur... Faut voir comment créer cette liste automatiquement. | |
| | | naf Nabz Junior
Nabaztag : naf Nbr de messages : 77 Carottes : 6997
| Sujet: Re: nabsend : Script shell pour commander son lapin Ven 30 Déc 2005 - 11:52 | |
| - starox a écrit:
Oui oui ! ça sert, je l'ai un petit peu modifier surtout en ce qui concerne le '&item=' qui est vide quand on fait bouger les oreilles et la requête renvoie une erreur à ce moment.
Je pensais aussi faire une liste qu'on puisse télécharger pour faire des greps et trouver l'id du message qu'on veut envoyer, sans avoir à sortir le navigateur... Faut voir comment créer cette liste automatiquement. Oui, j'ai fait la modif aussi, mais oublié de la publier. Pour récupérer la liste, perl est ton ami, avec la palanquée de modules pour automatiser la récupération d'informations depuis le web. | |
| | | naf Nabz Junior
Nabaztag : naf Nbr de messages : 77 Carottes : 6997
| Sujet: Re: nabsend : Script shell pour commander son lapin Dim 26 Fév 2006 - 18:09 | |
| Hello, voila la mise à jour de nabsend, qui supprime les parametres inutiles dans l'URL, inclus les modifs proxy de nabubuz, et supporte le TTS (option -t) : - Code:
-
#!/bin/sh
sn="00039DXXXXXX" # Remplacer les XX par le vrai no de serie du lapin token= # copier/coller le token du lapin
file=/dev/null # par defaut, la sortie n'est pas conservée opt="-q" proxy="--no-proxy"
url="http://www.nabaztag.com/vl/FR/api.jsp?sn=$sn&token=$token"
okargs=0
Usage() { echo >&2 echo >&2 "Usage: $0 option(s)" cat >&2 <<EOF Sends command to your nabaztag. The options are: Commands: At least one of these must be present. -m <idmessage> Message number to send. -l <position> Position of left ear, between 0 and 16 -r <position> Position of right ear, between 0 and 16 -t "message" Message to send via text-to-speech interface Options: -f <filename> Dumps nabaztag's server output to <filename> (- for stdout). Useful if something goes wrong. -p Use proxy information from http_proxy environment variable. -h Display this help and exit. EOF }
IsNum() { # check that $1 is numeric # there's got to be a better way than this. [ $1 -ge 0 ] && return 0 ; return 1 ; }
Validate() { [ $1 -ge 0 ] && [ $1 -le 16 ] && return 0 ; return 1 ; }
while getopts f:m:l:r:t:phd o ; do case "$o" in f) file="$OPTARG" ;; m) if IsNum $OPTARG ; then url="$url&idmessage=$OPTARG" ; okargs=1 ; else echo >&2 "$0 : invalid argument to -m" Usage exit 1 ; fi ;; l) if Validate $OPTARG ; then url="$url&posleft=$OPTARG" ; okargs=1 ; else echo >&2 "$0 : invalid argument to -l" Usage exit 1 ; fi ;; r) if Validate $OPTARG ; then url="$url&posright=$OPTARG" ; okargs=1 ; else echo >&2 "$0 : invalid argument to -r" Usage exit 1 ; fi ;; t) url="$url&tts=$OPTARG" ; okargs=1 ;; d) opt="" ;; p) proxy="--proxy" ;; [?]|h) Usage exit 1 ;; esac done
if [ $okargs -ne 1 ] ; then echo >&2 "$0: at least one of the l,m, r or t command must be specified!!" Usage exit 1 fi
wget $opt $proxy -O $file "$url" | |
| | | chrisemail Lapin nain
Nbr de messages : 1 Carottes : 6847
| Sujet: Re: nabsend : Script shell pour commander son lapin Lun 27 Fév 2006 - 15:21 | |
| Excellent ce script merci beaucoup !!!!! | |
| | | naf Nabz Junior
Nabaztag : naf Nbr de messages : 77 Carottes : 6997
| Sujet: Re: nabsend : Script shell pour commander son lapin Lun 27 Fév 2006 - 21:56 | |
| yapadkoi! | |
| | | Contenu sponsorisé
| Sujet: Re: nabsend : Script shell pour commander son lapin | |
| |
| | | | nabsend : Script shell pour commander son lapin | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |