Módulo:Filtros
Este módulo pode ter sua documentação deficiente. Por favor, documente-o ou melhore suas explicações caso o saiba usar ou tenha conhecimentos para tal. |
Este módulo está classificado como pré-alfa. Ele está incompleto, e pode ou não estar em desenvolvimento activo. Ele deve ser utilizado desde páginas do domínio artigos. Os módulos ficam em pre-alfa até o editor original (ou alguém que toma conta se ele for abandonado por algum tempo) está satisfeito com a estrutura básica. |
m = {}
function m.getNumberOfFalsePositives( frame )
text = mw.title.new( 'Wikipédia:Filtro de edições/Análise/Filtro ' .. frame.args[1] ):getContent()
-- title does not exist; content is nil; must exit now, or will fail when passing nil to string.gmatch below
if text == nil then
return 0
end
local gen, fp = string.gmatch(text, '{{Ação|%d+|?(%a*)'), 0
for x in gen do
if x == 'erro' then fp = fp + 1 end
end
return fp
end
function m.tabelafp(frame)
local tabela = {}
for i, f in ipairs(frame.args) do
local num, desc = string.match(f, "(%d%d?%d?):([^\n]*)")
text = mw.title.new('Wikipédia:Filtro de edições/Análise/Filtro ' .. num):getContent()
local gen, count, fp = string.gmatch(text, '{{Ação|%d+|?(%a*)'), 0, 0
for x in gen do
count = count + 1
if x == 'erro' then fp = fp + 1 end
end
table.insert(tabela,{num, desc, count, fp, string.gsub(math.floor(fp / count * 1000) / 10 .. ' %', '%.', ',')})
end
wikitext = [=[<table class="wikitable sortable" style="text-align: center">
<tr>
<th>Filtro</th>
<th>Descrição</th>
<th>Ações<br/>avaliadas</th>
<th>Falsos<br/>positivos</th>
<th>Porcentagem</th>
</th>]=]
for i, f in ipairs(tabela) do
wikitext = wikitext .. string.format([=[
<tr>
<td>'''[[Especial:Filtro de abusos/%s|%s]]'''</td>
<td>%s ([[Wikipédia:Filtro de edições/%s|discussão]])</td>
<td>[[/Filtro %s|%d]]</td>
<td>%d</td>
<td>%s</td>
</tr>]=], f[1], f[1], f[2], f[1], f[1], f[3], f[4], f[5])
end
wikitext = wikitext .. '\n</table>'
return wikitext
end
return m