Module:Sandbox/AB-me/Racing table

This is an old revision of this page, as edited by AB-me (talk | contribs) at 23:16, 4 July 2020. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local p = {}
local getArgs = require('Module:Arguments').getArgs

local colors = { first = { "#ffffbf", nil }, second = { "#dfdfdf", nil }, third = { "#ffdf9f", nil }, points = { "#dfffdf", nil }, nonPoints = { "#cfcfff", nil }, ret = { "#efcfff", nil }, dnq = { "#ffcfcf", nil }, dsq = { "#000000", "#ffffff" }, dns = { "#ffffff", nil } }

function p.main(frame)
	local args = getArgs(frame)
	return p._main(args)
end

function p._main(args)
	local events = mw.text.split(args['events'], ",")
	local participants = mw.text.split(args['participants'], ",")
	
	--local pointPositionsArg = mw.text.split(args['points'], ",")
	--local pointFastestLap = tonumber(args['pointsFL'])
	--local pointPole = tonumber(args['pointsPole'])
	
	--local pointPositions = {}
	
	--for i,v in ipairs(pointPositionsArg) do pointPositions[i] = tonumber(v) end
	
	local p = {}
	
	for i,v in ipairs(participants) do
		p[i] = args['participant_' .. v] or v
	end
	
	local e = {}
	local r = {}
	
	local t = {}
	
	for i,v in ipairs(events) do
		e[i] = args['event_' .. v] or v
		--r[v] = args['result_' .. v] or nil
	end
	
	table.insert(t, '{| class="wikitable" style="font-size: 85%; vertical-align:top; text-align:center""\n')
	table.insert(t, '!style="vertical-align:middle;"|{{Abbr|Pos.|Position}}\n')
	table.insert(t, '!style="vertical-align:middle;"|Driver\n')
	
	for i,v in ipairs(e) do
		table.insert(t, '!' .. v .. '\n')
	end
	
	table.insert(t, '!style="vertical-align:middle"|[[List of Formula One World Championship points scoring systems|Points]]\n')
	
	for i,v in ipairs(p) do
		table.insert(t, '|-\n')
		table.insert(t, '|' .. i .. '\n')
		table.insert(t, '|style="text-align:left;"|' .. v .. '\n')
		
		for i,v in ipairs(e) do
			table.insert(t, '|\n')
		end
	end
	
	
	table.insert(t, '|}')
	
	return table.concat(t)
end

	
return p;