Modul:Anrainerabfrage: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 23: | Zeile 23: | ||
function kategorisiereUndHegemon(frame,lehen,title,catname,rekursion) | function kategorisiereUndHegemon(frame,lehen,title,catname,rekursion) | ||
return "" | |||
--[[ if lehen=='' then return '' end | |||
if rekursion==0 then return '' end | if rekursion==0 then return '' end | ||
local heg=frame:callParserFunction( | local heg=frame:callParserFunction( | ||
Zeile 35: | Zeile 36: | ||
end | end | ||
--]] | |||
-- return '[[Kategorie:'..title..'|'..catname..']]'..hegsub | |||
end | end | ||
function printanrainersub( | function printanrainersub(anrainertable,catname,art,artpl) | ||
result='' | result='' | ||
for key,value in pairs(anrainertable) do | for key,value in pairs(anrainertable) do | ||
if(value[3]==art) then | if(value[3]==art) then | ||
t=mw.title.new(value[1]).text | t=mw.title.new(value[1]).text | ||
result=result..'[['..value[1]..'|'..value[2]..']] ('..value[4]..' EW) | result=result..'[['..value[1]..'|'..value[2]..']] ('..value[4]..' EW)'..kategorisiereUndHegemon(value,t,catname,7)..', ' | ||
end | end | ||
end | end | ||
Zeile 51: | Zeile 54: | ||
end | end | ||
function printanrainer( | function printanrainer(anrainertable,catname,weitereanrainer) | ||
result='' | result='' | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Reich','Reiche') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Provinz','Provinzen') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Grafschaft','Grafschaften') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Baronie','Baronien') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Junkertum','Junkertümer') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Ortschaft','Ortschaften') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Bauwerk','Bauwerke') | ||
result=result..printanrainersub( | result=result..printanrainersub(anrainertable,catname,'Unbekannt','Unbekannte') | ||
result=result.. | result=result..subZeile('Sonstige',weitereanrainer) | ||
return subZeilengruppe('Anrainer',result) | return subZeilengruppe('Anrainer',result) | ||
end | end | ||
Zeile 73: | Zeile 76: | ||
landschaft=frame.args[1] | landschaft=frame.args[1] | ||
result=holeanrainer(landschaft) | result=holeanrainer(landschaft) | ||
return dump(result,"").."\n"..printanrainer( | return dump(result,"").."\n"..printanrainer(result,catname,weitereanrainer) | ||
end | end | ||
return p | return p |
Version vom 26. Januar 2022, 11:00 Uhr
Dokumentation und Testfälle unter Modul:Anrainerabfrage/Doku.
local p = {} require("Modul:Hilfsfunktionen") require("Modul:Text") function holeanrainer(landschaft) if landschaft=='' then return '' end local anrainer=mw.smw.ask('[[Anrainer an::'..landschaft..']]' .."|mainlabel=-" .."|?#-=" .."|?Kurzname#=" .."|?Lehenstyp#=" .."|?Einwohner=" .."|limit=500" .."|sort=Detailstufe von,Einwohner" .."|order=asc,desc" ) if anrainer==nil then return {} end return anrainer end function kategorisiereUndHegemon(frame,lehen,title,catname,rekursion) return "" --[[ if lehen=='' then return '' end if rekursion==0 then return '' end local heg=frame:callParserFunction( '#show',lehen, '?Vasallenlehen von#' ) hegsub='' if heg~=''then t=mw.title.new(heg).text hegsub=kategorisiereUndHegemon(frame,heg,t,catname,rekursion-1) end --]] -- return '[[Kategorie:'..title..'|'..catname..']]'..hegsub end function printanrainersub(anrainertable,catname,art,artpl) result='' for key,value in pairs(anrainertable) do if(value[3]==art) then t=mw.title.new(value[1]).text result=result..'[['..value[1]..'|'..value[2]..']] ('..value[4]..' EW)'..kategorisiereUndHegemon(value,t,catname,7)..', ' end end result=mw.ustring.sub(result,1,mw.ustring.len(result)-2) return subZeile(artpl,result) end function printanrainer(anrainertable,catname,weitereanrainer) result='' result=result..printanrainersub(anrainertable,catname,'Reich','Reiche') result=result..printanrainersub(anrainertable,catname,'Provinz','Provinzen') result=result..printanrainersub(anrainertable,catname,'Grafschaft','Grafschaften') result=result..printanrainersub(anrainertable,catname,'Baronie','Baronien') result=result..printanrainersub(anrainertable,catname,'Junkertum','Junkertümer') result=result..printanrainersub(anrainertable,catname,'Ortschaft','Ortschaften') result=result..printanrainersub(anrainertable,catname,'Bauwerk','Bauwerke') result=result..printanrainersub(anrainertable,catname,'Unbekannt','Unbekannte') result=result..subZeile('Sonstige',weitereanrainer) return subZeilengruppe('Anrainer',result) end function p.Abfrage(frame) if (frame.args[1]==nil) then return "no parameter found" end catname=robusttrim(frame.args[2]) weitereanrainer=robusttrim(frame.args[3]) landschaft=frame.args[1] result=holeanrainer(landschaft) return dump(result,"").."\n"..printanrainer(result,catname,weitereanrainer) end return p