Instantly share code, notes, and snippets.

anonymous /wiki_hackaton_predefinição.groovy Secret
Created May 11, 2014

Embed
What would you like to do?
// este código está no domínio público
import net.sourceforge.jwbf.mediawiki.bots.MediaWikiBot
import net.sourceforge.jwbf.core.contentRep.Article
// falsos positivos
def visitados = [:]
visitados["PAGENAME"] = true
visitados["!"] = true
visitados[""] = true
MediaWikiBot wikiBot =j new MediaWikiBot("http://pt.wikipedia.org/w/");
def predef = [["Predefinição:Info/Município_do_Brasil", "digitado manualmente"]]
def a
Article article
while(!predef.empty) {
def x = predef[-1][1]
a = predef.pop()[0]
if(!visitados[a]) {
article = wikiBot.getArticle(a);
visitados[a] = true
println ((a -"Predefinição:") + " vindo de '$x'"
+ (article.empty ? "..não existe ou estava vazio": "")
)
def title = article.title.replaceAll('/', '!') // o caractere '/' não é permitido como nome de arquivo
//new File("/home/usuario/Documentos/Wiki/$title").write(article.text)
predef.addAll(
((article.text =~ /[^{]\{\{([^{#}!|]+)/ ).
collect{ "Predefinição:" + it[1].trim() }.
unique()).collect{[it, a]}
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment