From Wikipedia, the free encyclopedia


local p = {}



function getstates(frame)

	local states = frame:expandTemplate{ title = 'section transclude', args = { frame.args1 } }

	if states == '' then states = frame.args1 end

	return states

end



function p.EVs(frame)

	local states = getstates(frame)

	if not states then

		return frame:expandTemplate{ title = 'error', args = { 'Value not available when editing this section in isolation.' } }

	else

		local total = 0

		for state in mw.ustring.gmatch( states, "%a%a" ) do

			seats = frame:expandTemplate{ title = 'USHRseats', args = { state } }

			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

	end

end



function p.percent(frame)

	local EVs = p.EVs(frame)

	denom = 538

	places = 1

	if frame.args2 then denom = frame.args2 end

	if frame.args3 then places = frame.args3 end

	percent = frame:expandTemplate{ title = 'percent', args = { EVs, denom, places} }

	return percent

end



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{ title = 'error', args = { 'Value not available when editing this section in isolation.' } }

	else

		if frame.args2 == 'spell' then

			total = frame:expandTemplate{ title = 'spellnum per MOS', args = { total } }

		end

		return total

	end

end



function p.overlays(frame)

	local states = getstates(frame)

	local size = frame.args'size' or '325px'

	

	if frame.args1 == 'passed' then

		color = 'green'

	elseif frame.args1 == 'pending' then

		color = 'yellow'

	end

	

	local overlays = ''

	for state in mw.ustring.gmatch( states, "%a%a" ) do

		state_overlay = '<div style=\"position: absolute; left: 0px; top: 0px\">[[File:' .. state .. ' ' .. color .. ' 21.svg|' .. size .. ']]</div>'

		overlays = overlays .. state_overlay

	end

	return overlays

end



function p.signatories(frame)

	local states = frame:expandTemplate{ title = 'section transclude', args = { 'passed' } }

	local signatories = ''

	for state in mw.ustring.gmatch( states, "%a%a" ) do

		state_name = frame:expandTemplate{ title = 'US State Abbrev', args = { state } }

		local link_target = state_name

		if state == 'DC' then

			link_target = 'Washington, D.C.'

		elseif state == 'GA' then

			link_target = 'Georgia (U.S. state)'

		elseif state == 'NY' then

			link_target = 'New York (state)'

		elseif state == 'WA' then

			link_target = 'Washington (state)'

		end

		signatories = signatories .. '\n* ' .. '&nbsp;[[' .. link_target .. '|' .. state_name .. ']]'

	end

	return signatories

end



--function p.progress_bar(frame)

--	local

--	

--end



return p
From Wikipedia, the free encyclopedia


local p = {}



function getstates(frame)

	local states = frame:expandTemplate{ title = 'section transclude', args = { frame.args1 } }

	if states == '' then states = frame.args1 end

	return states

end



function p.EVs(frame)

	local states = getstates(frame)

	if not states then

		return frame:expandTemplate{ title = 'error', args = { 'Value not available when editing this section in isolation.' } }

	else

		local total = 0

		for state in mw.ustring.gmatch( states, "%a%a" ) do

			seats = frame:expandTemplate{ title = 'USHRseats', args = { state } }

			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

	end

end



function p.percent(frame)

	local EVs = p.EVs(frame)

	denom = 538

	places = 1

	if frame.args2 then denom = frame.args2 end

	if frame.args3 then places = frame.args3 end

	percent = frame:expandTemplate{ title = 'percent', args = { EVs, denom, places} }

	return percent

end



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{ title = 'error', args = { 'Value not available when editing this section in isolation.' } }

	else

		if frame.args2 == 'spell' then

			total = frame:expandTemplate{ title = 'spellnum per MOS', args = { total } }

		end

		return total

	end

end



function p.overlays(frame)

	local states = getstates(frame)

	local size = frame.args'size' or '325px'

	

	if frame.args1 == 'passed' then

		color = 'green'

	elseif frame.args1 == 'pending' then

		color = 'yellow'

	end

	

	local overlays = ''

	for state in mw.ustring.gmatch( states, "%a%a" ) do

		state_overlay = '<div style=\"position: absolute; left: 0px; top: 0px\">[[File:' .. state .. ' ' .. color .. ' 21.svg|' .. size .. ']]</div>'

		overlays = overlays .. state_overlay

	end

	return overlays

end



function p.signatories(frame)

	local states = frame:expandTemplate{ title = 'section transclude', args = { 'passed' } }

	local signatories = ''

	for state in mw.ustring.gmatch( states, "%a%a" ) do

		state_name = frame:expandTemplate{ title = 'US State Abbrev', args = { state } }

		local link_target = state_name

		if state == 'DC' then

			link_target = 'Washington, D.C.'

		elseif state == 'GA' then

			link_target = 'Georgia (U.S. state)'

		elseif state == 'NY' then

			link_target = 'New York (state)'

		elseif state == 'WA' then

			link_target = 'Washington (state)'

		end

		signatories = signatories .. '\n* ' .. '&nbsp;[[' .. link_target .. '|' .. state_name .. ']]'

	end

	return signatories

end



--function p.progress_bar(frame)

--	local

--	

--end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook