Modul:Quellen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen

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::Selenia]]|?=#|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=-')	
		if type( queryQuelle ) == "table" then
        	local myResult = ""
        	for num, row in pairs( queryResult ) do
            	myResult = myResult .. '* This is result #' .. num .. '\n'
            	for property, data in pairs( row ) do
                	local dataOutput = data
                	if type( data ) == 'table' then
                    	dataOutput = mw.text.listToText( data, ', ', ' and ')
                	end
                	myResult = myResult .. '** ' .. property .. ': ' .. dataOutput .. '\n'
            	end
        	end
        return myResult
    end
		end

    return returnString
end

return p