Modul:Turnierritter
Zur Navigation springen
Zur Suche springen
Dokumentation unter Modul:Turnierritter/Doku.
require("Modul:Hilfsfunktionen")
local p = {}
function holeRitterbuende()
local buende=mw.smw.ask("[[Untergruppierung von::Ritterbünde]]"
.."|?=#"
.."|?Wappen ist#"
.."|searchlabel="
.."|limit=500"
)
if buende==nil then
buende={}
end
local result={}
for k,v in pairs(buende) do
result[v[1]]=v['Wappen ist']
end
return result
end
function holeTurnierritter(query)
local reiter=mw.smw.ask("[[Kategorie:Turnierritter]] "..query
.."|?=Artikel"
.."|?Alter"
.."|?Turnierstatus"
.."|?Turnierklasse"
.."|?Turnierpublikum"
.."|?Turnieranmerkung"
.."|?Wappen ist#"
.."|?Bild ist#"
.."|?Sortierschlüssel"
.."|?Mitglied von#"
.."|searchlabel="
.."|limit=500"
)
if reiter==nil then
return {}
end
return reiter
end
function ausgabeBund(mitglied,buende)
local m=mitglied
if m==nil then m={} end
if type(m)~='table' then m={m} end
local w=''
local a=''
for mk,mv in pairs(m) do
for bk,bv in pairs(buende) do
if(mv==bk) then
w=w..bv
a=bk
end
end
end
if w=='' then return '' end
return '<span style="display:none;">'..a..'</span>[['..w..'|50x50px|link=]]'
end
function ausgabe(spalte,buende)
s='\n|-'
..'\n|<span style="display:none;">'..robusttrim(spalte['Sortierschlüssel'])..'</span>[['..robusttrim(spalte['Wappen ist'])..'|50x50px|link=]]'
..'\n|[['..robusttrim(spalte['Bild ist'])..'|50x50px|link=]]'
..'\n|'..robusttrim(spalte['Artikel'])
..'\n|'..robusttrim(spalte['Alter'])
..'\n|'
if spalte['Turnierstatus']~="unbekannt" then s=s..robusttrim(spalte['Turnierstatus']) end
local sort=0
if spalte['Turnierklasse']=='Neuling' then sort=1 end
if spalte['Turnierklasse']=='Mittelmaß' then sort=2 end
if spalte['Turnierklasse']=='Favorit' then sort=3 end
if spalte['Turnierklasse']=='Legende' then sort=4 end
s=s..'\n|<span style="display:none;">'..sort..'</span>'..robusttrim(spalte['Turnierklasse'])
..'\n|'
if spalte['Turnierpublikum']~="unbekannt" then s=s..robusttrim(spalte['Turnierpublikum']) end
s=s..'\n|'..robusttrim(spalte['Turnieranmerkung'])
s=s..'\n|'..ausgabeBund(spalte['Mitglied von'],buende)
return s
end
function p.turnierritter(frame)
local query=robusttrim(frame.args[1])
local buende=holeRitterbuende()
local reiter=holeTurnierritter(query)
local s='{| class="tabellehuebsch sortable"'
..'\n|- class="dunkel"'
..'\n!Wappen'
..'\n!Bild'
..'\n!Name'
..'\n!Alter'
..'\n!Status'
..'\n!Klasse'
..'\n!Publikumssicht'
..'\n!Bemerkung'
..'\n!Bünde'
for _,v in pairs(reiter) do
s=s..ausgabe(v,buende)
end
return s..'\n|}'
end
return p