Modul:Parlamente

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus


local p = {}
local cfg = mw.loadData('Modul:Parlamente/Liste');
local getArgs = require('Modul:Arguments').getArgs

function p.volksvertretung(frame)
	local args = getArgs(frame)
	local sequenz = args[1]
	local entity = args[2]
	local volksvertretung = cfg.info[entity] or cfg.einheit[entity]
	if volksvertretung == nil then name = 'Name'
		else
		if sequenz == 'erste' then name = volksvertretung[1]
			elseif sequenz == 'zweite' then name = volksvertretung[3]
			elseif sequenz == 'dritte' then name = volksvertretung[5]
			elseif sequenz == 'vierte' then name = volksvertretung[7]
		end
	end
	return name or 'Name'
end

function p.sitze(frame)
	local args = getArgs(frame)
	local sequenz = args[1]
	local entity = args[2]
	local sitze = cfg.info[entity] or cfg.einheit[entity]
	if sitze == nil then number = '0'
		else
		if sequenz == 'erste' then number = sitze[2]
			elseif sequenz == 'zweite' then number = sitze[4]
			elseif sequenz == 'dritte' then number = sitze[6]
			elseif sequenz == 'vierte' then number = sitze[8]
		end
	end
	return number or '0'
end

function p.amt(frame)
	local args = getArgs(frame)
	local sequenz = args[1]
	local staat = args[2]
	local amt = cfg.direkt[staat]
	if amt == nil then name = 'Amt'	
		else
			if sequenz == 'erste' then name = amt[1]
			elseif sequenz == 'zweite' then name = amt[3]
		end
	end
	return name or 'Amt'
end

function p.anzahl(frame)
	local args = getArgs(frame)
	local sequenz = args[1]
	local staat = args[2]
	local amt = cfg.direkt[staat]
	if amt == nil then number = '0'
		else
		if sequenz == 'erste' then number = amt[2]
			elseif sequenz == 'zweite' then number = amt[4]
		end
	end
	return number or '0'
end

function p.epsitze(frame)
	local args = getArgs(frame)
	local staat = args[1]
	local mandate = cfg.europar[staat]
	if mandate == nil then return '0'
		else return mandate[1]
	end
end

function p.tabelle(frame)
	local root = mw.html.create('table'):addClass('wikitable sortable')
	root:tag('tr')
		:tag('th'):wikitext('Code<br/><code>Staat</code>'):attr('rowspan', 2):done()
		:tag('th'):wikitext('Staat'):attr('rowspan', 2):done()
		:tag('th'):wikitext('1. Volksvertretung<br/><code>Sitze1</code>'):attr('colspan', 2):done()
		:tag('th'):wikitext('2. Volksvertretung<br/><code>Sitze2</code>'):attr('colspan', 2):done()
		:tag('th'):wikitext('3. Volksvertretung<br/><code>Sitze3</code>'):attr('colspan', 2):done()
		:tag('th'):wikitext('4. Volksvertretung<br/><code>Sitze4</code>'):attr('colspan', 2):done()
	root:tag('tr')
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()

	local staat = {}
	for k, v in pairs(cfg.info) do
		staat[#staat+1] = k
	end

	table.sort(staat)
	for _, value in pairs(staat) do
		local datum = cfg.info[value]
		
	nameflagge = frame:expandTemplate{title = value}

	root:tag('tr')
		:tag('td'):wikitext(value):done()
		:tag('td'):wikitext(nameflagge):done()
		:tag('td'):wikitext(datum[1]):done()
		:tag('td'):wikitext(datum[2]):done()
		:tag('td'):wikitext(datum[3]):done()
		:tag('td'):wikitext(datum[4]):done()
		:tag('td'):wikitext(datum[5]):done()
		:tag('td'):wikitext(datum[6]):done()
		:tag('td'):wikitext(datum[7]):done()
		:tag('td'):wikitext(datum[8]):done()
	end
	return root
end

function p.subtabelle(frame)
	local root = mw.html.create('table'):addClass('wikitable sortable')
	root:tag('tr')
		:tag('th'):wikitext('Code<br/><code>Einheit</code>'):attr('rowspan', 2):done()
		:tag('th'):wikitext('Subnationale Einheit'):attr('rowspan', 2):done()
		:tag('th'):wikitext('1. Volksvertretung<br/><code>Einheitsitze1</code>'):attr('colspan', 2):done()
		:tag('th'):wikitext('2. Volksvertretung<br/><code>Einheitsitze2</code>'):attr('colspan', 2):done()
		:tag('th'):wikitext('2. Volksvertretung<br/><code>Einheitsitze3</code>'):attr('colspan', 2):done()
	root:tag('tr')
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Sitze'):done()
		
	local land = {}
	for k, v in pairs(cfg.einheit) do
		land[#land+1] = k
	end

	table.sort(land)
	for _, value in pairs(land) do
		local datum = cfg.einheit[value]
		
	nameflagge = frame:expandTemplate{title = value}

	root:tag('tr')
		:tag('td'):wikitext(value):done()
		:tag('td'):wikitext(nameflagge):done()
		:tag('td'):wikitext(datum[1]):done()
		:tag('td'):wikitext(datum[2]):done()
		:tag('td'):wikitext(datum[3]):done()
		:tag('td'):wikitext(datum[4]):done()
		:tag('td'):wikitext(datum[5]):done()
		:tag('td'):wikitext(datum[6]):done()
	end
	return root
end

function p.amttabelle(frame)
	local root = mw.html.create('table'):addClass('wikitable sortable')
	root:tag('tr')
		:tag('th'):wikitext('Code<br/><code>Staat</code>'):attr('rowspan', 2):done()
		:tag('th'):wikitext('Staat'):attr('rowspan', 2):done()
		:tag('th'):wikitext('1. Amt<br/><code>Amt1</code>'):attr('colspan', 2):done()
		:tag('th'):wikitext('2. Amt<br/><code>Amt2</code>'):attr('colspan', 2):done()
	root:tag('tr')		
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Gesamt'):done()
		:tag('th'):wikitext('Name'):done()
		:tag('th'):wikitext('Gesamt'):done()

	local staat = {}
	for k, v in pairs(cfg.direkt) do
		staat[#staat+1] = k
	end

	table.sort(staat)
	for _, value in pairs(staat) do
		local datum = cfg.direkt[value]
		
	nameflagge = frame:expandTemplate{title = value}

	root:tag('tr')
		:tag('td'):wikitext(value):done()
		:tag('td'):wikitext(nameflagge):done()
		:tag('td'):wikitext(datum[1]):done()				
		:tag('td'):wikitext(datum[2]):done()
		:tag('td'):wikitext(datum[3]):done()
		:tag('td'):wikitext(datum[4]):done()
	end
	return root
end

function p.eptabelle(frame)
	local root = mw.html.create('table'):addClass('wikitable sortable')
	root:tag('tr')
		:tag('th'):wikitext('Code<br/><code>Staat</code>'):done()
		:tag('th'):wikitext('Staat'):done()
		:tag('th'):wikitext('Sitze<br/><code>EP-Mandate</code>'):done()

	local staat = {}
	for k, v in pairs(cfg.europar) do
		staat[#staat+1] = k
	end

	table.sort(staat)
	for _, value in pairs(staat) do
		local eurositze = cfg.europar[value]
		local name = frame:expandTemplate{title = value}
			root:tag('tr')
				:tag('td'):wikitext(value):done()
				:tag('td'):wikitext(name):done()
				:tag('td'):wikitext(eurositze[1]):done()
	end
	return root
end

return p