A Wiki in the Desert
Log in

Difference between revisions of "Module:HerbGallery"

From A Wiki in the Desert
Line 10: Line 10:
 
     end
 
     end
 
      
 
      
return frame:getParent().args
+
    local queryResult = mw.smw.ask( frame:getParent().args )
 +
   
 +
if queryResult == nil then
 +
        return "(no values)"
 +
    end
 +
 
 +
    if type( queryResult ) == "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
 +
 
 +
    return queryResult
 
end
 
end
  
 
return p
 
return p

Revision as of 02:42, 15 May 2021

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.ask( frame:getParent().args )
    
	if queryResult == nil then
        return "(no values)"
    end

    if type( queryResult ) == "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

    return queryResult
end

return p