Módulo:Ícone fraqueza mini
Ir para navegação
Ir para pesquisar
A documentação para este módulo pode ser criada em Módulo:Ícone fraqueza mini/doc
-- <pre>
local p = {}
local onmain = require('Módulo:Mainonly').on_main
local yesno = require('Módulo:Yesno')
local weaknesses = mw.loadData('Módulo:Ícone fraqueza/data')
function p.main(frame)
local args = frame:getParent().args
local split_list = mw.text.split(args[1],',')
local addcats = yesno(args.cg)
-- iterate through and create a parameters
-- look at only the first word for weaknesses
local params = {}
for i, v in ipairs(split_list) do
v = mw.text.trim(v)
:lower()
:gsub('(%w+)%s.*','%1')
:gsub('[][]','')
table.insert(params, v)
end
return p._main(params,addcats)
end
function p._main(wargs,addcats)
-- Create a list of good and bad args
local good_args = {}
local bad_args = {}
-- Return string
local ret = ''
-- Category list
local cats = ''
for i, v in ipairs(wargs) do
local weakns = weaknesses[v]
if weakns then
table.insert(good_args, weakns)
else
table.insert(bad_args, v)
end
end
for i, v in ipairs(good_args) do
image = '[[Ficheiro:'..v.image..'|20px|link=' .. (v.link or '') .. ']]'
ret = ret..image
if (i < #good_args + #bad_args) then
ret = ret..'<br>'
end
if onmain() and addcats then
if v.category then
cats = cats..'[[Categoria:'..v.category..']]'
end
end
end
if #bad_args > 0 then
local bad_list = ''
for i, v in ipairs(bad_args) do
bad_list = bad_list .. '"' .. v .. '"'
if i < #bad_args then
bad_list = bad_list..', '
end
end
ret = ret..'<strong class="error" title="Uma ou mais fraquezas não reconhecidas: '..bad_list..'">Argumento inválido</strong>'
if onmain() then
ret = ret..'[[Categoria:Predefinições com argumentos inválidos]]'
end
end
return ret..cats
end
return p