Pour lâĂ©tape suivante, je vais mâintĂ©resser au sujet de lâissue #2 : passer des arguments Ă mon outil.
Comme vu dans un article prĂ©cĂ©dent, je crĂ©e tout dâabord la branche et la MR depuis GitLab.
En guise dâAPI de test, je vous propose dâutiliser lâAPI du site OpenWeather qui nĂ©cessite une ApiKey.
Pour ce qui est de rĂ©cupĂ©rer cette clĂ©, je vous renvoie vers une de mes vidĂ©os oĂč jâen parle.
Dans un premier temps, je vĂ©rifie que ma requĂȘte fonctionne.
Il suffit de reprendre le code précédent et faire un appel comme décrit dans un de mes exemples IoT.
http://api.openweathermap.org/data/2.5/weather?q={city name},{state code},{country code}&appid={your api key}
Je peux maintenant ajouter la gestion des arguments passés à Dobby.
Je devrais dâailleurs dire, une premiĂšre gestion des arguments.
En effet, je vais tout dâabord utiliser le package flag.
Il est assez simple à appréhender, je vous montre ça tout de suite.
var urlPtr = flag.String(« url », « », « Url que Dobby va appeler pour vous. »)
var apiKeyPtr = flag.String(« apikey », « », « ApiKey a utiliser pour appeler votre url. »)
flag.Parse()
Ce package permet de définir des arguments en indiquant leur nom, une valeur par défaut et une description.
Il faut ensuite demander un parsing de ces arguments pour obtenir des pointeurs sur ces valeurs (oui, pas la valeur en direct, il faut que je me rĂ©habitue Ă cette façon de penser des annĂ©es 70 et du C đ )
Lâappel se fait alors de cette façon, en se rappelant que les arguments sont rĂ©cupĂ©rĂ©s par des pointeurs.
response, err := http.Get(*urlPtr + « &appid=« + *apiKeyPtr + « &units=metric »)
Pour lancer dobby, on peut continuer en mode âgo runâ
~/Dobby/src# go run dobby.go -url=http://api.openweathermap.org/data/2.5/weather?q=Chamonix -apikey=<votre Api Key>
Me voilĂ Ă©quipĂ© dâun systĂšme dâarguments, qui fournit Ă©galement des services comme une aide en ligne avec lâargument â-hâ
~/Dobby/src# go run dobby.go -h
Usage of /tmp/go-build863761866/b001/exe/dobby:
-apikey string
ApiKey a utiliser pour appeler votre url.
-url string
Url que Dobby va appeler pour vous.
exit status 2
Pas mal non ?
Je ne dĂ©veloppe pas plus, je pense passer Ă un package plus complet par la suite. Je verrais alors de quoi jâai besoin.
En cadeau, la vue de mon bureau du jour đ
Lien vers Google Photo en attendant que jâajoute le plugin pour Ghost. https://photos.app.goo.gl/eTozFE2ea4DWhwnh9