Modul:Quellen: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
Zeile 15: Zeile 15:
 
while i <= table.getn(queryResult)
 
while i <= table.getn(queryResult)
 
do
 
do
local queryQuelle = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Seitenausgabe Quelle|?Publikation|mainlabel=-')
+
local queryQuelle = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Seitenausgabe Quelle|?Publikation|mainlabel=-')
 
returnString = returnString .. queryQuelle[1]['Publikation'] .. ":"
 
returnString = returnString .. queryQuelle[1]['Publikation'] .. ":"
 
if (type(queryResult[1]['Seitenausgabe Quelle']) == "table") then --another table!
 
if (type(queryResult[1]['Seitenausgabe Quelle']) == "table") then --another table!
 
returnString = returnString .. table.getn(queryResult[1]['Seitenausgabe Quelle'])
 
returnString = returnString .. table.getn(queryResult[1]['Seitenausgabe Quelle'])
 
else
 
else
returnString = returnString .. queryResult[1]['Seitenausgabe Quelle'] -- keine tabelle  
+
if (queryResult[1]['Seitenausgabe Quelle'] == nil) then
 +
returnString = returnString
 +
else
 +
returnString = returnString .. queryResult[1]['Seitenausgabe Quelle'] -- keine tabelle  
 +
end
 
end
 
end
 
 
i = i +1
 
i = i +1
 
end
 
end

Version vom 26. Februar 2024, 22:42 Uhr

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 (type(queryResult[1]['Seitenausgabe Quelle']) == "table") then --another table!
				returnString = returnString .. table.getn(queryResult[1]['Seitenausgabe Quelle'])
			else
				if (queryResult[1]['Seitenausgabe Quelle'] == nil) then
					returnString = returnString
				else
					returnString = returnString .. queryResult[1]['Seitenausgabe Quelle'] -- keine tabelle 
				end
			end
		i = i +1
		end

    return returnString
end

return p