Como já foi noticiado, a ASL perdeu seu servidor mais antigo, e nele estava o serviço de listas que unia várias comunidades temáticas de Software Livre no Brasil. Para tristeza geral da nação, não existia back-up, por conta da velha máxima: "cachorro com muito dono, morre de fome".
Lição aprendida e novo servidor levantado. E agora? Como reconstruir as listas?
Os owners, moderadores ou interessados foram convidados a requisitar a recriação de suas listas. Mas depois da lista recriada, como reencontrar os antigos membros? Tudo o que eu e outros temos é o histórico da lista em seu e-mail pessoal. No meu caso tudo estava no GMail, mas seria um esforço inviável ver cada e-mail enviado para a lista e copiar o endereço do remetente. Mas todo problema tem seu hack...
Bem, filtrar os e-mail para uma lista é fácil, basta buscar por to:grupo@list-host
. Você já deve ter notado que ao parar o mouse sobre o nome da pessoa, ali na lista de e-mails, o GMail mostra o endereço da pessoa. Pois bem essa informação está em no atributo "email" da tag "span" que contém o nome do sujeito. Sendo assim, abri o console e comecei a tentar formas de extrair esse valor de todos os nomes listados na página. Beleza! (o código te dará detalhes de outras "descobertas")
Se você precisar coletar todos os endereços de e-mail em seu histórico, comece fazendo a busca. Então abra o console javascript e insira este código:
Array.prototype.unique = function() { // Thanks to Shamasis Bhattacharya: // http://www.shamasis.net/2009/09/fast-algorithm-to-find-unique-items-in-javascript-array var o = {}, i, l = this.length, r = []; for(i=0; i<l;i+=1) o[this[i]] = this[i]; for(i in o) r.push(o[i]); return r; }; // Find and return elements inside GMail interface by its class: function byClass(c) { return document.getElementById('canvas_frame') .contentDocument.getElementsByClassName(c); } // Store e-mails: var list = []; // Collect all e-mail senders on the page and and store them: function collectEmails() { for(var p,i=0; p=byClass('yP')[i]; i++) { // read e-mail list.push(p.getAttribute('email')); } for(var p,i=0; p=byClass('zF')[i]; i++) { // unread e-mail list.push(p.getAttribute('email')); } list = list.unique(); }
Entre em cada página de resultado da sua busca e execute collectEmails()
.
Por fim, veja os e-mails coletados com list.join(' ')
.
Agora basta copiar a lista gerada e convidar o povo.
Limitação: Só foi possível recuperar aqueles que já haviam enviado algum e-mail para a lista, os ouvintes foram perdidos e, infelizmente, eram maioria.
Atenção: Só depois de recuperar as listas de Inkscape e GIMP que percebi que o GMail faz cache das paginações em uma parte oculta do DOM, por isso quando voltamos para a listagem de e-mails a mudança é instantânea. Por conta disto, o script localizava o e-mail de pessoas que não estavam na busca, mas que foram listadas durante meu uso do GMail. Solução: Depois de fazer sua busca, recarregue a página. O comando da busca permanecerá na URL e o GMail reiniciará na pagina de busca que você estava, mas sem o cache das paginações anteriores.
0sem comentários ainda
Por favor digite as duas palavras abaixo