20 enero, 2009

Un par de comandos para Ubiquity

He decidido probar a crear un par de comandos para Ubiquity, la extensión de Firefox que permite acceder a información y lanzar comandos desde el mismo navegador. Usa Javascript (cómo no) como lenguaje y la especificación de comandos es relativamente sencilla cuando se conoce la URL en la que realizar la petición.

Los comandos creados permiten consultar la definición de la Real Academia de la Lengua de un término y también consultar la disponibilidad de un dominio (si no se indica extensión del primer nivel, se asume .com).

Definición de un término

CmdUtils.CreateCommand({
  name: "drae",
  icon: "http://www.rae.es/favicon.ico",
  author: {name: "Digitta"},
  takes: {"palabra": noun_arb_text},
  description: "Buscar el término en el diccionario de la Real Academia",
  preview: function(pblock, cmd){
    pblock.innerHTML = "Definir el término,según el diccionario de la RAE: " + cmd.text;
    CmdUtils.previewGet(pblock,
               "http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_BUS=0&LEMA=" + cmd.text.toLowerCase(),
               null,
               function (a) {pblock.innerHTML=(a);}
               );

  },
  execute: function(cmd){
    var search = cmd.text;
        var newCmd = search.replace(/\s+/g, "+");
    var url = "http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_BUS=0&LEMA=" + newCmd ;
    openUrl(url);
    //    Utils.openUrlInBrowser(url);
  }
});

Consulta de disponibilidad de un dominio

CmdUtils.CreateCommand({
  name: "dns",
  icon: "http://www.networksolutions.com/favicon.ico",
  author: {name: "Digitta"},
  takes: {"dominio": noun_arb_text},
  description: "Comprobar la disponibilidad de uno o más dominios",
  preview: function(pblock, cmd){
    pblock.innerHTML = "DNS: " + cmd.text;
    CmdUtils.previewGet(pblock,
                        "http://www.easydomaincheck.com/checkdomain4.php?domains=" + cmd.text.toLowerCase() +(!~cmd.text.toLowerCase().indexOf('.')?'.com':''),
               null,
               function (a) {pblock.innerHTML=a.substr(a.indexOf('<table'),a.indexOf('</table>')+8-a.indexOf('<table'));}
               );

  },
  execute: function(cmd){
    var search = cmd.text;
        var newCmd = search.replace(/\s+/g, "+");
    var url = "http://www.easydomaincheck.com/checkdomain4.php?domains=" + newCmd +'%0A' + newCmd + '.com';
    openUrl(url);
    //    Utils.openUrlInBrowser(url);
  }
});

Instalación


Si lo que quieres es instalar los comandos, sigue estas instrucciones.

2 comentarios:

Zeros dijo...

¡Gracias!

Llevaba un tiempo buscando algo para definir palabras en español, y tu aportación es perfecta. Te animo a subirla a la wiki de Ubiquity, porque me ha costado encontrarla.

Un saludo, y !buen trabajo!

Àl dijo...

Muchas gracias, pero ahora mismo no tengo tiempo de subirlos allí. Si alguien puede hacer el favor, se lo agradeceremos todos.

Publicar un comentario en la entrada

Últimos links en indiza.com