Utiliser son propre réducteur d’URL dans Gwibber.

Voici un petit hack permettant d’ajouter votre propre réducteur d’URL à la liste déjà présente dans Gwibber. Le but étant seulement d’utiliser votre propre réducteur, ou simplement d’en utiliser un alternatif.

La méthode qui suit a été testée sur le réducteur utilisant lilURL, un clone libre de TinyURL. Personnellement, j’ai installé mon propre réducteur et j’ai choisi Bilbolinks, qui utilise cette même bibliothèque. Ce qui nous intéresse sera d’appeler l’API de notre réducteur à partir de Gwibber. L’API de lilURL et de Bilbolinks est de la forme:

/api.php?longurl=http://www.uneurltrestreslongue.com

Puisque mon réducteur n’est pas encore public, j’ai fait une courte recherche et j’ai trouvé un réducteur qui utilise le Bilbolinks et qui fera l’affaire pour notre exemple http://joo.li.

Les manipulations qui suivent nécessitent des manipulations à effectuer avec des droits superutilisateurs (root) dont le mauvais usage peut engendrer des effets néfastes pour votre système. Je ne suis donc pas responsable de vos erreurs

Nous allons nous déplacer dans le répertoire qui gère les réducteurs.

cd /usr/share/pyshared/gwibber/microblog/urlshorter

Et nous allons créer un fichier de configuration nommé jooli.py

sudo nano jooli.py

Que nous allons renseigner comme suit (remplacer joo.li par votre réducteur (3x)) :

import urllib2

PROTOCOL_INFO = {

  "name": "joo.li",
  "version": 0.1,
  "fqdn" : "http://joo.li",

}

class URLShorter:

  def short(self, text):
    short = urllib2.urlopen("http://joo.li/api.php?longurl=%s" % urllib2.quote(text)).read()
    return short

Ensuite on doit modifier le fichier __init__.py

sudo nano __init__.py

en ajoutant:

@import jooli

Et dans la commande PROTOCOLS

"joo.li": jooli,

Ce qui donnerait au final:

import cligs, isgd, tinyurlcom, ur1ca
#import snipurlcom, zima
import jooli

PROTOCOLS = {
  "cli.gs": cligs,
  "is.gd": isgd,
  #"snipurl.com": snipurlcom,
  "tinyurl.com": tinyurlcom,
  "joo.li": jooli,
  "ur1.ca": ur1ca,
  #"zi.ma": zima,
}

On enregistre et il nous reste plus qu’à créer un lien symbolique vers notre nouveau fichier jooli.py

cd /usr/lib/python2.6/dist-packages/gwibber/microblog/urlshorter
sudo ln -s /usr/share/pyshared/gwibber/microblog/urlshorter/jooli.py

Voilà on redémarre Gwiber, et on choisit notre nouveau réducteur dans les préférences.

Pour info, le hack est le fruit d’une conversation dans #ubuntu-qc entre moi et @deuxpi.

Ma version de Gwibber est 2.32.0.1

Vus : 10201
Publié par ProfNoel : 41