Skip to content

Instantly share code, notes, and snippets.

@morozowski
Created February 17, 2009 18:56
Show Gist options
  • Save morozowski/65903 to your computer and use it in GitHub Desktop.
Save morozowski/65903 to your computer and use it in GitHub Desktop.
Ubiquity Command "whois-br"
CmdUtils.CreateCommand({
name: "whois-br",
description: "Faz um whois em um CPF, CNPJ ou host .br (powered by registro.br).",
homepage: "http://gist.github.com/65903",
author: { name: "Morozowski", email: "morozowski+ubiquity [at] gmail [dot] com"},
license: "GPL",
takes: {expr_busca: noun_arb_text},
preview: function(pblock, directObject) {
searchText = jQuery.trim(directObject.text);
if(searchText.length < 1) {
pblock.innerHTML = "Identifica propriet&aacute;rios de hosts brasileiros.";
return;
}
var isCNPJ = searchText.search(/\d{3}.\d{3}.\d{3}\/\d{4}-\d{2}/);
var isCPF = searchText.search(/\d{3}.\d{3}.\d{3}-\d{2}/);
var suffix = searchText.substr(searchText.length-3, 3);
var previewTemplate = null;
if (suffix == ".br") {
previewTemplate = "OK! Tecle &lt;Enter&gt; para buscar o whois do host <b>${query}</b>.";
} else if (isCNPJ == 0) {
previewTemplate = "OK! Tecle &lt;Enter&gt; para buscar o whois do CNPJ <b>${query}</b>.";
} else if (isCPF == 0) {
previewTemplate = "OK! Tecle &lt;Enter&gt; para buscar o whois do CPF <b>${query}</b>.";
}
if (previewTemplate != null) {
var previewData = {query: searchText};
pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
} else {
pblock.innerHTML = "O nome do host deve terminar com <code>.br</code>." +
"<br>O CNPJ deve ter o formato <code>000.000.000/0000-00</code>." +
"<br>O CPF deve ter o formato <code>000.000.000-00</code>.";
}
},
execute: function(directObject) {
var url = "https://registro.br/cgi-bin/whois/?qr={QUERY}#lresp"
var query = jQuery.trim(directObject.text);
var urlString = url.replace("{QUERY}", query);
Utils.openUrlInBrowser(urlString);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment