Module:Mandatetable FI explained

local p = function p.start(frame) local pFrame = frame:getParent; local args = pFrame.args; for k,v in pairs(frame.args) do args[k] = v; end

local text = local party = require('Module:Parties fi') text = mw.text.tag('th',, mw.text.tag('span',, 'Election year')) local i = 1 while args[i] and args[i] ~= do local kort = args[i] frame.args = local vector = party.parties(frame) if vector

nil then return 'ERROR' end local a = vector['a'] local t = vector['t'] local n = vector['n'] local f = vector['f'] local l = vector['l'] local t4 = mw.text.tag('span',, a) t4 = mw.text.tag('th',, "" .. t4 .. "") text = text .. t4 i = i + 1 end i = i*2.1+60.5 t4 = mw.text.tag('span',, 'Graphic representation, places and voting percentage') text = text .. mw.text.tag('th',,t4) t4 = mw.text.tag('span',, "Yht.") text = text .. mw.text.tag('th',, t4) t4 = mw.text.tag('span',, '%') text = text .. mw.text.tag('th',, t4) t4 = mw.text.tag('span',, "Sukupuolijakauma (M/N)") text = text .. mw.text.tag('th',, t4) text = mw.text.tag('tr',, text) --text = mw.text.tag('table',, text) return text end function p.relativmandatstapel(frame) local pFrame = frame:getParent; local args = pFrame.args; for k,v in pairs(frame.args) do args[k] = v; end local text = local party = require('Module:Parties fi') local bredd = args.bredd if bredd

nil then bredd = '400' end local sum = args[2] local prosentti = args.prosentti or local prosentti2 = tonumber(prosentti) local y = if prosentti2

nil then local y1 = string.find(prosentti, ',') if y1 then prosentti2 = string.sub(prosentti,1,y1-1).. '.' .. string.sub(prosentti,y1+1,string.len(prosentti)) end end local i = 3 while (args[i] and args[i] ~= ) or args[i+1] do local kort = args[i] frame.args = local vector = party.parties(frame) if tonumber(args[i+1])

nil then args[i+1] = '0' end if vector

nil then return 'ERROR' end local t = vector['t'] local f = vector['f'] local stylus = local content = if (tonumber(args[i+1]) or 0) > 0 then stylus = 'padding:0;border:0;background:' .. f .. ';color:' .. t .. ';width:' .. math.floor(tonumber(bredd)*tonumber(args[i+1])/tonumber(sum) + 0.5) .. 'px;' if tonumber(bredd)*tonumber(args[i+1])/tonumber(sum) > 16 then content = args[i+1] end text = text .. mw.text.tag('td',, content) end y = text i = i + 2 end text = mw.text.tag('tr',, text) text = mw.text.tag('table',, text) if prosentti2 ~= nil then local div = mw.text.tag('div',, ) div = div .. mw.text.tag('div',, ) div = div .. mw.text.tag('div',, ) div = div .. mw.text.tag('div',, ) div = mw.text.tag('div',, div) text = text .. div end y = text return y or 'Hei'end function mqstapel(tot, naisia, tom) local stylus = 'padding:0;border:0;background:#C0C0FF;width:' .. math.floor(120*(tot-tom-naisia)/tot) .. 'px;' local d = if 120*(tot-tom-naisia) > 16 then d = tostring(tot-tom-naisia) end local text = mw.text.tag('td',, d) if tom ~= 0 then stylus = 'padding:0;border:0;background:#ffffff;width:' .. math.floor(120*tom/tot) .. 'px;' text = text .. mw.text.tag('td',, ) end if naisia ~= 0 then stylus = 'padding:0;border:0;background:#FFC0C0;width:' .. math.floor(120*naisia/tot) .. 'px;' d = if 120*naisia/tot > 16 then d = tostring(naisia) end text = text .. mw.text.tag('td',, d) end text = mw.text.tag('tr',, text) text = mw.text.tag('table',, text) return textend function p.rad(frame) local pFrame = frame:getParent; local args = pFrame.args; for k,v in pairs(frame.args) do args[k] = v; end local text = text = text .. mw.text.tag('td',, args[1]) local i = 3 local u = 0 local prosentti = args.prosentti or while tonumber(args[i+1]) ~= nil do local t = if tonumber(args[i+1]) > 0 then t = args[i+1] end text = text .. mw.text.tag('td',, t) u = u + tonumber(args[i+1]) i = i + 2 end if u

tonumber(args[2]) then text = text .. mw.text.tag('td',, p.relativmandatstapel(frame)) else text = text .. mw.text.tag('td',, mw.text.tag('span',, 'ERROR_IN_LOCATION')) end text = text .. mw.text.tag('td',, args[2]) if prosentti ~= nil then text = text .. mw.text.tag('td',, prosentti) else text = text .. mw.text.tag('td',, ) end if args.naisia ~= nil and args.naisia ~= then text = text .. mw.text.tag('td',, mqstapel(tonumber(args[2]), tonumber(args.naisia), tonumber(args.tom) or 0)) else text = text .. mw.text.tag('td',, ) end text = mw.text.tag('tr',, text) return textend

function p.n(frame) local pFrame = frame:getParent; local args = pFrame.args; local i = 1 while args[i] ~= nil do i = i + 1 end local h = 2.1 * i + 58.4 return h .. end

function p.slut(frame) local pFrame = frame:getParent; local args = pFrame.args; local text = if args[1] ~= nil then local i = 2 while args[i] ~= nil do text = text .. mw.text.tag('br') .. args[i] i = i + 1 end text = mw.text.tag('td',, args[1] .. text) text = mw.text.tag('tr',, text) end local t = mw.text.tag('td',, "Tiedot ovat peräisin Tilastokeskuksesta sekä Kansalliskirjaston julkaisuarkisto Doriasta") text = text .. mw.text.tag('tr',, t) return textend return p