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