Módulo:Pagesincat
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. |
Descrição
Este módulo tem funções auxiliares para contar páginas nas respetivas categorias.
Uso
Ver {{pagesincat}}
Outra documentação:
-- módulo reproduzindo o comportamento de {{PAGESINCATEGORY}}
-- sem o bug
local p = {}
-- gera um erro
function p.error(texto)
return '<span class="error">' .. (texto or "''nenhum erro indicado''") .. "</span>"
end
-- para testar a funcionalidade "pageincategory"
function p.pagesincat(frame)
-- o nome da categoria
local args = frame:getParent().args
local cat = args[1]
-- o tipo de pedido
local arg = frame.args["tipo"] or args["type"]
-- formatando números?
local mef = args["formatação"] or args["formatacao"]
local sel -- a selecção
-- se não houver nome de categoria, use a página atual
if (cat == nil or cat == "") then
local titulo = mw.title.getCurrentTitle()
-- nós verificamos se somos uma categoria
if (titulo.namespace ~= 14) then
return p.error("Nenhum nome de página especificado e a página atual não é uma categoria")
end
-- nós usamos o título da página atual
cat = mw.title.getCurrentTitle().text
end
-- nós olhamos o parâmetro
if (arg == "todos" or arg == nil or arg == "*") then
sel = "all"
elseif (arg == "cats") then
sel = "subcats"
elseif (arg == "ficheiros") or (arg == "files") then
sel = "files"
elseif (arg == "páginas") or (arg == "pages") then
sel = "pages"
else
return p.error("parâmetro '" .. (arg or "<nil>") .. "' não reconhecido")
end
local res = mw.site.stats.pagesInCategory(cat, sel)
if (res == nil) then
return p.error("erro de recuperação de informações")
end
-- se a formatação for aplicada
if (mef ~= nil) then
return mw.getContentLanguage():formatNum(res)
else
return tostring(res)
end
end
return p