A Wiki in the Desert
Log in

Module:HerbGallery

From A Wiki in the Desert
Revision as of 03:36, 15 May 2021 by Omegaice (talk | contribs)

Documentation for this module may be created at Module:HerbGallery/doc

local p = {} --p stands for package

function p.gallery( frame )
	if not mw.smw then
        return "mw.smw module not found"
	end

    if frame:getParent().args[1] == nil then
        return "no parameter found"
    end
    
    local queryResult = mw.smw.getQueryResult( '[[Herb/'..mw.text.trim(frame:getParent().args[1])..']]|?Is similar to.Has image=image' )

    if queryResult == nil then
        return "(no values)"
    end

    local currentIndex = 1
    local galleryArgs = {
    	width="200", 
    	height="200", 
    	mode="packed"
    }
    
    if type( queryResult ) == "table" then
        for k,v in pairs( queryResult.results ) do
        	if type( v ) == "table" and type(v.printouts) == "table" and false then
            	for kR,vR in pairs( v.printouts.image ) do
            		galleryArgs[currentIndex] = vR.fulltext
            		currentIndex = currentIndex + 1
            	end
            else
            	local myResult = ""
		        for kR,vR in pairs( v.printouts ) do
		        	myResult = myResult .. ' ' .. kR .. '\n'
		        end
            	return 'input:'..tostring(v.printouts)
            end
        end
        
        local myResult = ""
        for k,v in pairs( galleryArgs ) do
        	myResult = myResult .. ' ' .. k .. ' ' .. v .. '\n'
        end
        return myResult
    end

    return ""
end

return p