Modul:Lehensabfrage: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
function holelehensub(mitglied) | function holelehensub(mitglied) | ||
return mitglied | if mitglied=='' then return {} end | ||
local s='[[-has subobject::'..mitglied..']]' | |||
local lehen=mw.smw.ask(s | |||
..'|mainlabel=-' | |||
..'|?Herrscher von Lehen#=' | |||
..'|limit=500' | |||
..'|searchlabel=' | |||
) | |||
if lehen==nil then return {} end | |||
return lehen | |||
end | end | ||
| Zeile 13: | Zeile 22: | ||
local s='<q>[[Familienmitglied von::'..familie..']] OR [[Familienmitglied von.Untergruppierung von::'..familie..']]</q>' | local s='<q>[[Familienmitglied von::'..familie..']] OR [[Familienmitglied von.Untergruppierung von::'..familie..']]</q>' | ||
local mitglieder=mw.smw.ask(s | local mitglieder=mw.smw.ask(s | ||
.. | ..'|mainlabel=-' | ||
.. | ..'|?#-=' | ||
.. | ..'|limit=500' | ||
.. | ..'|searchlabel=' | ||
) | ) | ||
if mitglieder==nil then | if mitglieder==nil then mitglieder={} end | ||
--Finde alle Lehen dieser Familienmitglieder | --Finde alle Lehen dieser Familienmitglieder | ||
--TODO: manuell einmischen | --TODO: manuell einmischen | ||
local result=' | local result='' | ||
for | for mkey,mvalue in pairs(mitglieder) do | ||
result=result.. | local lehen=holelehensub(mvalue[1]) | ||
for lkey,lvalue in pairs(lehen) do | |||
result=result..lvalue[1] | |||
end | |||
end | end | ||
| Zeile 34: | Zeile 44: | ||
function p.Abfrage(frame) | function p.Abfrage(frame) | ||
if (frame.args[1]==nil) then | if (frame.args[1]==nil) then | ||
return | return 'no parameter found' | ||
end | end | ||
catname=robusttrim(frame.args[2]) | catname=robusttrim(frame.args[2]) | ||
Version vom 15. April 2024, 13:35 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#='
..'|limit=500'
..'|searchlabel='
)
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])
for lkey,lvalue in pairs(lehen) do
result=result..lvalue[1]
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