Modul:Quellen
Version vom 26. Februar 2024, 22:23 Uhr von Stewie (Diskussion | Beiträge)
Die Dokumentation für dieses Modul kann unter Modul:Quellen/Doku erstellt werden
--[[
Lua Modul zum zuverlässigen darstellen von Artikelquellen
]]--
local p = {} --local p = {} -- p steht für Paket (engl. package)
function p.getQuellen( frame )
--teste ob argument ungleich nichts
local arg = frame.args['Pagename']
if arg == nil then return nil end
local returnString = ""
local queryResult = mw.smw.ask('[[Typ::Gesamtquellen]][[-Hat Unterobjekt::Dakardsmyr]]|?=#|limit=1999|format=array|')
local i = 1
while i <= table.getn(queryResult)
do
local queryQuelle = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Seitenausgabe Quelle|?Publikation|mainlabel=-')
returnString = returnString .. queryQuelle[1]['Publikation'] .. ":"
if (queryQuelle[1]['Seitenausgabe Quelle']) == nil then -- fehlende Angaben in der Quelle
returnString = returnString .."Fehler: keine Seitenzahl zu finden"
elseif(type(queryQuelle[1]['Seitenausgabe Quelle']) == "table") then -- Tabelle ein loop mehr
local n = 1
returnString = returnString .. " Seite: "
while n <= table.getn(queryQuelle[1]['Seitenausgabe Quelle'])
do
returnString = returnString .. queryQuelle[1]['Seitenausgabe Quelle'][n] ..","
n = n +1
end
else -- einfach nur text
returnString = returnString .. " Seite: " .. queryQuelle[1]['Seitenausgabe Quelle']
end
returnString = returnString .. "<br>"
i = i +1
end
return returnString
end
return p