Modul:Lehensabfrage: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 41: | Zeile 41: | ||
for lkey,lvalue in pairs(lehen) do | for lkey,lvalue in pairs(lehen) do | ||
if lvalue[1]~=nil then | if lvalue[1]~=nil then | ||
result=result..'\n*'..lvalue[1]..'('..lvalue[2]..':'..lvalue[3]..'-'..lvalue[4]..')' | result=result..'\n*[['..lvalue[1]..'|]] ('..lvalue[2]..':'..lvalue[3]..'-'..lvalue[4]..')' | ||
end | end | ||
end | end | ||
Version vom 15. April 2024, 13:47 Uhr
Dokumentation und Testfälle unter Modul:Lehensabfrage/Doku.
local p = {}
require("Modul:Hilfsfunktionen")
function holelehensub(mitglied)
if mitglied=='' then return {} end
local s='[[-has subobject::'..mitglied..']]'
local lehen=mw.smw.ask(s
..'|mainlabel=-'
..'|?Herrscher von Lehen#='
..'|?Herrscher von Art#='
..'|?Herrscher von VonIndex#='
..'|?Herrscher von BisIndex#='
..'|limit=500'
..'|searchlabel='
..'|sort=Herrscher von VonIndex'
)
if lehen==nil then return {} end
return lehen
end
function holelehen(familie,manuell)
if familie=='' then return '' end
--Finde alle Familienmitglieder
local s='<q>[[Familienmitglied von::'..familie..']] OR [[Familienmitglied von.Untergruppierung von::'..familie..']]</q>'
local mitglieder=mw.smw.ask(s
..'|mainlabel=-'
..'|?#-='
..'|limit=500'
..'|searchlabel='
)
if mitglieder==nil then mitglieder={} end
--Finde alle Lehen dieser Familienmitglieder
--TODO: manuell einmischen
local result=''
for mkey,mvalue in pairs(mitglieder) do
local lehen=holelehensub(mvalue[1])
-- result=result..dump(lehen,"")
for lkey,lvalue in pairs(lehen) do
if lvalue[1]~=nil then
result=result..'\n*[['..lvalue[1]..'|]] ('..lvalue[2]..':'..lvalue[3]..'-'..lvalue[4]..')'
end
end
end
return result
end
function p.Abfrage(frame)
if (frame.args[1]==nil) then
return 'no parameter found'
end
catname=robusttrim(frame.args[2])
weiterelehen=robusttrim(frame.args[3])
weitereaemter=robusttrim(frame.args[4])
manuell=robusttrim(frame.args[5])
local familie=frame.args[1]
local result=holelehen(familie,manuell)
if true then
return result
end
end
return p