Modul:Turnierritter: Unterschied zwischen den Versionen

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
VolkoV (D | B)
Keine Bearbeitungszusammenfassung
SyncBot (D | B)
K (Schützte „Modul:Turnierritter“: SyncBot ([Bearbeiten=Nur Administratoren erlauben] (unbeschränkt)))
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 46: Zeile 46:
if type(m)~='table' then m={m} end
if type(m)~='table' then m={m} end
local w=''
local w=''
local a=''
for mk,mv in pairs(m) do
for mk,mv in pairs(m) do
for bk,bv in pairs(buende) do
for bk,bv in pairs(buende) do
if(mv==bk) then
if(mv==bk) then
w=w..bv
w=w..bv
a=bk
end
end
end
end
end
end
return w
if w=='' then return '' end
return '<span style="display:none;">'..a..'</span>[['..w..'|50x50px|link=]]'
end
end


Zeile 73: Zeile 76:
if spalte['Turnierpublikum']~="unbekannt" then s=s..robusttrim(spalte['Turnierpublikum']) end
if spalte['Turnierpublikum']~="unbekannt" then s=s..robusttrim(spalte['Turnierpublikum']) end
s=s..'\n|'..robusttrim(spalte['Turnieranmerkung'])
s=s..'\n|'..robusttrim(spalte['Turnieranmerkung'])
s=s..'\n|'..dump(spalte['Mitglied von'],'')
s=s..'\n|'..ausgabeBund(spalte['Mitglied von'],buende)
--ausgabeBund(spalte['Mitglied von'],buende)
return s
return s
end
end
Zeile 94: Zeile 96:
..'\n!Bünde'
..'\n!Bünde'
for _,v in pairs(reiter) do
for _,v in pairs(reiter) do
-- s=s..ausgabe(v,buende)
s=s..ausgabe(v,buende)
end
end
return s..'\n|}'..dump(buende,'')
return s..'\n|}'
end
end


return p
return p

Aktuelle Version vom 2. Juli 2024, 05:32 Uhr

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