local p = {}
local getArgs = require('Module:Arguments').getArgs
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local eventsArg = mw.text.split(args['events'], ",")
local participantsArg = mw.text.split(args['participants'], ",")
local pointPositionsArg = mw.text.split(args['points'], ",") or {}
local pointSpecialArg = mw.text.split(args['pointsSpecial'], ",") or {}
local events = {}
local participants = {}
local pointPositions = {}
local pointSpecial = {}
for i,v in ipairs(eventsArg) do events[v] = args['event_' .. v] or v end
for i,v in ipairs(participantsArg) do participants[v] = args['participant_' .. v] or v end
for i,v in ipairs(pointPositionsArg) do pointPositions[i] = tonumber(v) or 0 end
for i,v in ipairs(pointSpecialArg) do pointSpecial[v] = tonumber(args['pointsSpecial_' .. v] or 0) end
local t = {}
table.insert(t, '{| class="wikitable" style="font-size: 85%; vertical-align:top; text-align:center""\n')
table.insert(t, '!style="vertical-align:middle;"|<abbr title="Position">Pos</abbr>\n')
table.insert(t, '!style="vertical-align:middle;"|Participant\n')
for k,v in pairs(events) do
table.insert(t, '!' .. v)
end
table.insert(t, '!style="vertical-align:middle"|Points\n')
table.insert(t, '|}')
return table.concat(t)
end
return p;