Module:NPVIC status/sandbox explained

local p =

function getstates(frame) local states = frame:expandTemplate if states

then states = frame.args[1] end return statesend

function p.EVs(frame) local states = getstates(frame) if not states then return frame:expandTemplate else local total = 0 for state in mw.ustring.gmatch(states, "%a%a") do seats = frame:expandTemplate if state

'DC' then seats=1 end if type(tonumber(seats))

'nil' then total = error("Unrecognized state") break else total = total + seats + 2 end end return total endend

function p.percent(frame) local EVs = p.EVs(frame) if frame.args[1] then denom = frame.args[1] else denom = 538 end if frame.args[2] then places = frame.args[2] else places = 1 end percent = frame:expandTemplate return percentend

function p.states(frame) local states = getstates(frame) local total = 0 for state in mw.ustring.gmatch(states, "%a%a") do if state~='DC' then total = total + 1 end end if total

0 then return frame:expandTemplate else if frame.args[1]

'spell' then total = frame:expandTemplate end return total endend

function p.overlays(frame) local states = getstates(frame) local size = frame.args['size'] or '325px'

if frame.args['section']

'passed' then color = 'green' elseif frame.args['section']

'pending' then color = 'yellow' end local overlays = for state in mw.ustring.gmatch(states, "%a%a") do state_overlay = '

' overlays = overlays .. state_overlay end return overlaysend

function p.signatories(frame) local states = frame:expandTemplate local signatories = for state in mw.ustring.gmatch(states, "%a%a") do state_name = frame:expandTemplate local dab = if state_name

'New York' or state_name

'Washington' then dab=' (state)' end signatories = signatories .. '\n* ' .. ' ' .. state_name .. '' end return signatoriesend

--function p.progress_bar(frame)-- local-- --end

return p