<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ANPVIC_status</id>
	<title>Module:NPVIC status - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ANPVIC_status"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:NPVIC_status&amp;action=history"/>
	<updated>2026-06-22T09:35:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:NPVIC_status&amp;diff=478752&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:NPVIC_status&amp;diff=478752&amp;oldid=prev"/>
		<updated>2021-07-16T05:02:42Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function getstates(frame)&lt;br /&gt;
	local states = frame:expandTemplate{ title = 'section transclude', args = { frame.args['section'] } }&lt;br /&gt;
	if states == '' then&lt;br /&gt;
		states = frame.args[1]&lt;br /&gt;
	end&lt;br /&gt;
	return states&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.EVs(frame)&lt;br /&gt;
	local states = getstates(frame)&lt;br /&gt;
	if not states then&lt;br /&gt;
		return frame:expandTemplate{ title = 'error', args = { 'Value not available when editing this section in isolation.' } }&lt;br /&gt;
	else&lt;br /&gt;
		local total = 0&lt;br /&gt;
		for state in mw.ustring.gmatch( states, &amp;quot;%a%a&amp;quot; ) do&lt;br /&gt;
			seats = frame:expandTemplate{ title = 'USHRseats', args = { state } }&lt;br /&gt;
			if state=='DC' then seats=1 end&lt;br /&gt;
			if type(tonumber(seats))=='nil' then&lt;br /&gt;
				total = error(&amp;quot;Unrecognized state&amp;quot;)&lt;br /&gt;
				break&lt;br /&gt;
			else&lt;br /&gt;
				total = total + seats + 2&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return total&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.percent(frame)&lt;br /&gt;
	local EVs = p.EVs(frame)&lt;br /&gt;
	if frame.args[1] then&lt;br /&gt;
		denom = frame.args[1]&lt;br /&gt;
	else&lt;br /&gt;
		denom = 538&lt;br /&gt;
	end&lt;br /&gt;
	if frame.args[2] then&lt;br /&gt;
		places = frame.args[2]&lt;br /&gt;
	else&lt;br /&gt;
		places = 1&lt;br /&gt;
	end&lt;br /&gt;
	percent = frame:expandTemplate{ title = 'percent', args = { EVs, denom, places} }&lt;br /&gt;
	return percent&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.states(frame)&lt;br /&gt;
	local states = getstates(frame)&lt;br /&gt;
	local total = 0&lt;br /&gt;
	for state in mw.ustring.gmatch( states, &amp;quot;%a%a&amp;quot; ) do&lt;br /&gt;
		if state~='DC' then&lt;br /&gt;
			total = total + 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if total==0 then&lt;br /&gt;
		return frame:expandTemplate{ title = 'error', args = { 'Value not available when editing this section in isolation.' } }&lt;br /&gt;
	else&lt;br /&gt;
		if frame.args[1]=='spell' then&lt;br /&gt;
			total = frame:expandTemplate{ title = 'spellnum per MOS', args = { total } }&lt;br /&gt;
		end&lt;br /&gt;
		return total&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.overlays(frame)&lt;br /&gt;
	local states = getstates(frame)&lt;br /&gt;
	local size = frame.args['size'] or '325px'&lt;br /&gt;
&lt;br /&gt;
	if frame.args['section']=='passed' then&lt;br /&gt;
		color = 'green'&lt;br /&gt;
	elseif frame.args['section']=='pending' then&lt;br /&gt;
		color = 'yellow'&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local overlays = ''&lt;br /&gt;
	for state in mw.ustring.gmatch( states, &amp;quot;%a%a&amp;quot; ) do&lt;br /&gt;
		state_overlay = '&amp;lt;div style=\&amp;quot;position: absolute; left: 0px; top: 0px\&amp;quot;&amp;gt;[[File:' .. state .. ' ' .. color .. ' 21.svg|' .. size .. ']]&amp;lt;/div&amp;gt;'&lt;br /&gt;
		overlays = overlays .. state_overlay&lt;br /&gt;
	end&lt;br /&gt;
	return overlays&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.signatories(frame)&lt;br /&gt;
	local states = frame:expandTemplate{ title = 'section transclude', args = { 'passed' } }&lt;br /&gt;
	local signatories = ''&lt;br /&gt;
	for state in mw.ustring.gmatch( states, &amp;quot;%a%a&amp;quot; ) do&lt;br /&gt;
		state_name = frame:expandTemplate{ title = 'US State Abbrev', args = { state } }&lt;br /&gt;
		local dab = ''&lt;br /&gt;
		if state_name=='New York' or state_name=='Washington' then&lt;br /&gt;
			dab=' (state)'&lt;br /&gt;
		end&lt;br /&gt;
		signatories = signatories .. '\n* ' .. frame:expandTemplate{ title = 'flagicon', args = { state_name } } .. '&amp;amp;nbsp;[[' ..  state_name .. dab .. '|' ..  state_name .. ']]'&lt;br /&gt;
	end&lt;br /&gt;
	return signatories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--function p.progress_bar(frame)&lt;br /&gt;
--	local&lt;br /&gt;
--	&lt;br /&gt;
--end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>