From Wikipedia, the free encyclopedia

local p = {}

local arguments = {

	{'Canada'},

	{'United States'},

	{'The United States of America'},

	{'US'},

	{'US', 'New York'},

	{'USA', 'New York'},

	{'US-New York'},

	{'USA-New York'},

	{'US-NY'},

	{'USA-NY'},

	{'United States', 'New York'},

	{'United States', 'New York (State)'},

	{'United States', '[[New York (State)]]'},

	{'United States', '[[New York (State)|Test]]'},

	{'Guinea-Bissau'},

	{'Guinea-Bissau-L'},

	{'Guinea-Bissau', 'L'},

	{'United-States'},

	{'United States-New-York'},

	{'GuineaBissau'},

	{'GuineaBissau-L'},

	{'GuineaBissau', 'L'},

	{'GB-ENG'},

	{'GB-ENG-Greenwich'},

	{'GB-ENG', 'Greenwich'},

	{'Wales-Belfast'},

	{'Northern Ireland-Belfast'},

	{'UK-Stoke-on-Trent'},

	{'UK', 'Stoke-on-Trent'},

	{'UK', 'Stoke on Trent'},

	{'[[United States|THE PLACE]]'},

	{'[[File:Flag_of_Canada.svg|20px]]'},

	{'{{flag|India}}'},

	{'{{CAN}}'},

	{[[C"A'NA‘DA(AAA)']]},

	--[[

	{'Taiwan, Province of China'},

	{'Taiwan'},

	{'Republic of China'},

	{'Republic of China', isoname='yes'},

	{'TW'},

	{'TWN'},

	{'158'},

	{'20'},

	{'{{PRC}}'},

	{'[ [Canada ] ]'},

	{'Áfghanistan'},

	]]

	{'United States<ref name=A>{{cite web|url=http://www.example.com}}</ref>'},

	{'United States<ref name="B" />'},

	{'[[Russia]]', '[[Sakha Republic]]'},

	{'CA', 'BC', lang='fr'},

}

local function stripOnly(params, special)

	local code = (special == 'code' and '<td><code><nowiki>' or '<td>')

	if params1 then

		code = code..(special == 'sandbox' and '{{#invoke:ISO 3166/sandbox' or '{{#invoke:ISO 3166')..'|strip'..'|'..params1..'}}'

	end

	if params2 then

		code = code..' '..(special == 'sandbox' and '{{#invoke:ISO 3166/sandbox' or '{{#invoke:ISO 3166')..'|strip'..'|'..params2..'}}'

	end

	return code..(special == 'code' and '</nowiki></code></td>' or '</td>')

end

local function makeCell(func, params, special)

	if func == 'strip' then

		return stripOnly(params, special)

	end

	local code = ''

	code = code..(special == 'code' and '<td><code><nowiki>' or '<td>')..'{{'

	code = code..(special == 'sandbox' and '#invoke:ISO 3166/sandbox' or '#invoke:ISO 3166')

	code = code..'|'..func

	for k,v in ipairs(params) do

		code = code..'|'..v

	end

	for k,v in pairs(params) do

		if type(k) ~= 'number' then

			code = code..'|'..k..'='..v

		end

	end

	code = code..'}}'..(special == 'code' and '</nowiki></code></td>' or '</td>')

	return code

end

local function makeRow(frame, func, params)

	local out = ''

	out = out..makeCell(func, params) -- Live

	out = out..makeCell(func, params, 'sandbox') -- Sandbox

	out = out..makeCell(func, params, 'code') -- Code

	return frame:preprocess('<tr>'..out..'</tr>')

end

function p.run(frame)

	local out = '<tr><th>Live</th><th>Sandbox</th><th>Code</th></tr>'

	for k,v in ipairs(arguments) do

		out = out..makeRow(frame, frame.args1], v)

	end

	return '<table class="wikitable">'..out..'</table>'

end

return p
From Wikipedia, the free encyclopedia

local p = {}

local arguments = {

	{'Canada'},

	{'United States'},

	{'The United States of America'},

	{'US'},

	{'US', 'New York'},

	{'USA', 'New York'},

	{'US-New York'},

	{'USA-New York'},

	{'US-NY'},

	{'USA-NY'},

	{'United States', 'New York'},

	{'United States', 'New York (State)'},

	{'United States', '[[New York (State)]]'},

	{'United States', '[[New York (State)|Test]]'},

	{'Guinea-Bissau'},

	{'Guinea-Bissau-L'},

	{'Guinea-Bissau', 'L'},

	{'United-States'},

	{'United States-New-York'},

	{'GuineaBissau'},

	{'GuineaBissau-L'},

	{'GuineaBissau', 'L'},

	{'GB-ENG'},

	{'GB-ENG-Greenwich'},

	{'GB-ENG', 'Greenwich'},

	{'Wales-Belfast'},

	{'Northern Ireland-Belfast'},

	{'UK-Stoke-on-Trent'},

	{'UK', 'Stoke-on-Trent'},

	{'UK', 'Stoke on Trent'},

	{'[[United States|THE PLACE]]'},

	{'[[File:Flag_of_Canada.svg|20px]]'},

	{'{{flag|India}}'},

	{'{{CAN}}'},

	{[[C"A'NA‘DA(AAA)']]},

	--[[

	{'Taiwan, Province of China'},

	{'Taiwan'},

	{'Republic of China'},

	{'Republic of China', isoname='yes'},

	{'TW'},

	{'TWN'},

	{'158'},

	{'20'},

	{'{{PRC}}'},

	{'[ [Canada ] ]'},

	{'Áfghanistan'},

	]]

	{'United States<ref name=A>{{cite web|url=http://www.example.com}}</ref>'},

	{'United States<ref name="B" />'},

	{'[[Russia]]', '[[Sakha Republic]]'},

	{'CA', 'BC', lang='fr'},

}

local function stripOnly(params, special)

	local code = (special == 'code' and '<td><code><nowiki>' or '<td>')

	if params1 then

		code = code..(special == 'sandbox' and '{{#invoke:ISO 3166/sandbox' or '{{#invoke:ISO 3166')..'|strip'..'|'..params1..'}}'

	end

	if params2 then

		code = code..' '..(special == 'sandbox' and '{{#invoke:ISO 3166/sandbox' or '{{#invoke:ISO 3166')..'|strip'..'|'..params2..'}}'

	end

	return code..(special == 'code' and '</nowiki></code></td>' or '</td>')

end

local function makeCell(func, params, special)

	if func == 'strip' then

		return stripOnly(params, special)

	end

	local code = ''

	code = code..(special == 'code' and '<td><code><nowiki>' or '<td>')..'{{'

	code = code..(special == 'sandbox' and '#invoke:ISO 3166/sandbox' or '#invoke:ISO 3166')

	code = code..'|'..func

	for k,v in ipairs(params) do

		code = code..'|'..v

	end

	for k,v in pairs(params) do

		if type(k) ~= 'number' then

			code = code..'|'..k..'='..v

		end

	end

	code = code..'}}'..(special == 'code' and '</nowiki></code></td>' or '</td>')

	return code

end

local function makeRow(frame, func, params)

	local out = ''

	out = out..makeCell(func, params) -- Live

	out = out..makeCell(func, params, 'sandbox') -- Sandbox

	out = out..makeCell(func, params, 'code') -- Code

	return frame:preprocess('<tr>'..out..'</tr>')

end

function p.run(frame)

	local out = '<tr><th>Live</th><th>Sandbox</th><th>Code</th></tr>'

	for k,v in ipairs(arguments) do

		out = out..makeRow(frame, frame.args1], v)

	end

	return '<table class="wikitable">'..out..'</table>'

end

return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook