Modul:Flaggen
Die Dokumentation für dieses Modul kann unter Modul:Flaggen/Doku erstellt werden
local p = {}
local full = mw.loadData('Modul:Flaggen/Alias');
local getArgs = require('Modul:Arguments').getArgs
local function flag(code)
local a = full.info[code] or code
local flag = mw.loadData('Modul:Flaggen/'..string.sub(a, 1, 1)).info[a]
if flag == nil then return 'Datei:Flag of None.svg' else
return 'Datei:'..flag[1]
end
end
local function land(code)
local a = full.info[code] or code
local land = mw.loadData('Modul:Flaggen/'..string.sub(a, 1, 1)).info[a]
if land == nil then return a else
return land[2]
end
end
local function artikel(code)
local a = full.info[code] or code
local artikel = mw.loadData('Modul:Flaggen/'..string.sub(a, 1, 1)).info[a]
if artikel == nil then return flag(a) else
if artikel[3] == nil then return flag(a) else
return 'Flagge '..artikel[3]
end end
end
function p.staat(frame) -- SUPPORT Modul:Partei/Liste
local args = getArgs(frame)
return land(args[1])
end
function p.flagge(frame)
local args = getArgs(frame)
local a = args[1]
local b = args[2]
local c = args[3]
local f = args['f']
local n = args['n']
local w = args['w'] or '30'
if b then
if b == 'f' then return '[['..flag(a).. '|' ..w..'px|link='..artikel(a)..']]' else
if c then
if c == 'n' then return '[['..flag(a).. '|' ..w..'px]] [['..land(a)..'|'..b..']]' else
return '[['..flag(a).. '|' ..w..'px]] [['..c..'|'..b..']]' end else
return '[[' ..flag(a).. '|' ..w..'px]] [['..b..']]' end end
else
if n then return '[[' ..flag(a).. '|' ..w..'px]] [['..n..'|'..land(a)..']]' end end
if f then
if f == 'n' then return '[[' ..flag(a).. '|' ..w..'px|link='..land(a)..']]' else
return '[[' ..flag(a).. '|' ..w..'px|link='..f..']]' end end
return '[[' ..flag(a).. '|' ..w..'px]] [['..land(a)..']]'
end
function p.tabelle(frame)
local args = getArgs(frame)
local buchstabe = args['buchstabe']
local cfg = mw.loadData('Modul:Flaggen/'..buchstabe)
local root = mw.html.create('table'):addClass('wikitable sortable')
root:tag('tr')
:tag('th'):wikitext('Code'):done()
:tag('th'):wikitext('Flag'):done()
:tag('th'):wikitext('Land'):done()
for code, value in pairs(cfg.info) do
root:tag('tr')
:tag('td'):wikitext('' .. code .. ''):done()
:tag('td'):wikitext('[[Datei:' .. value[1] .. '|30px]]'):done()
:tag('td'):wikitext('[[' .. value[2] ..']]'):done()
end
return root
end
function p.alias(frame)
local root = mw.html.create('table'):addClass('wikitable sortable')
root:tag('tr')
:tag('th'):wikitext('Staat-Land'):done()
:tag('th'):wikitext('Code'):done()
local alln = {}
for k, v in pairs(full.info) do
alln[#alln+1] = k
end
table.sort(alln)
for _, code in ipairs(alln) do
root:tag('tr')
:tag('td'):wikitext('[[' .. code .. ']]'):done()
:tag('td'):wikitext(full.info[code]):done()
end
return root
end
return p