GoogleCL : Google en lignes de commande !

Publié le 23 juin 2010 par Antoine Toin0u
Google a enfin sorti un outil pour les fans de la ligne de commande: GoogleCL (Google Command Lines) !
En gros au lieu de passer par l'interface graphique de Blogger, Calendar, Picasa, Docs, Youtube ou Contacts pour effectuer des tâches diverses, il est possible de les réaliser via un terminal :D
GoogleCL tourne avec python 2.6 et python-gdata. Plus d'infos ici.
Installation GoogleCL 0.9.7
$ sudo apt-get install python-gdata
$ cd
$ wget http://googlecl.googlecode.com/files/googlecl_0.9.7-1_all.deb
$ sudo dpkg -i googlecl_0.9.7-1_all.deb
L'installation étant terminée, essayons de lister les billets de votre blog:
$ google blogger list
Vous obtenez la réponse suivante, saisissez le login de votre compte Google. Il suffit ensuite d'ouvrir le lien proposé dans votre navigateur afin d'autoriser l'accès à GoogleCL.

A la page d'autorisation, accordez l'accès :)

Revenez dans le terminal et pressez la touche entrée. Si vous avez plus d'un blog alors, GoogleCL les listera et vous demandera de choisir.

Et voilà le résultat !

Il est possible de faire bien plus de choses avec GoogleCL !
Publier un billet / message avec des tags !
$ google blogger post --tags "GoogleCL, pratique, ubuntu, linux, console" --title "Billet avec GoogleCL!" "Mon premier message avec GoogleCL !"
Publier un billet / html !
$ google blogger post --tags "GoogleCL, pratique, ubuntu, linux, console" --title "Billet avec GoogleCL!" "Mon <em>premier</em> message avec <strong>GoogleCL</strong> !<br/>C'est bien un truc de geek xD"
Publier un billet via un fichier texte ou html !
$ google blogger post billet.txt
Lister uniquement les titres des billets
$ google blogger list title
A savoir qu'il est possible de personnaliser le résultat de la liste en spécifiant les styles: title, url, url-site, url-direct (picasa), author, when (calendar) et where (calendar).
$ google blogger list style1,style2,style3
Il est possible de définir un séparateur bien précis afin de parser facilement la sortie à l'aide de cut ou awk par exemple.
$ google blogger list style1,style2,style3 --delimiter ":"
Puis supprimer le billet en indiquant son titre / regex
$ google blogger delete --title "Billet à supprimer"
Ou encore tagger un billets existant
google tag --title "Billet avec GoogleCL" --tags "python, soft, gdata, api"
L'aide en ligne
$ google help blogger
... Il est possible de faire pas mal de choses :) Et encore nous n'avons abordé que Blogger ! Je vous laisse découvrir les autres services via le manuel rapide de GoogleCL.
Pour avoir un mémo rapidement, remplacez SERVICE par youtube, picasa, docs, contacts, calendar et blogger (en minuscule). D'autres services sont à venir. Notamment le très attendu gmail :)
$ google help SERVICE
Je trouve cet outil vraiment sympa car il me permet de faire des scripts qui me facilitent la vie. Par exemple, je viens d'écrire un petit script bash qui redimensionne une image, ajoute un watermark, l'upload sur imgur.com et la publie sur le blog avec les bonnes dimensions, un commentaire et les tags qui vont bien. En somme, c'est un outils puissant qui va s'améliorer (tâches) et s'étendre (services) !
Et vous, comment utilisez-vous GoogleCL ?
bLoG: ackorea.blogspot.com bY R^, Béa & tOiN0U