Modul:Parlamente
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