Module:GroupNameVariations

From Seven Sages of Rome

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

-- Module:SMW
local p = {}

-- Return results
function p.ask(frame)
	local queryResult = mw.smw.ask( string.format('[[Has Narrator::%s]][[Has Name Variation::+]]|?Has Name Variation', frame.args[1]) )
	   if queryResult == nil then
        return "(no values)"
    end

    if type( queryResult ) == "table" then
        local myResult = ""
        for num, row in pairs( queryResult ) do
            for property, data in pairs( row ) do
                local dataOutput = data
                if type( data ) == 'table' then
                    dataOutput = mw.text.listToText( data, ', ', ' and ')
                end
                myResult = myResult .. dataOutput .. '\n'
            end
        end
        return myResult
    end
end

function groupMessages(array)
    local result = {};
    for k, v in ipairs(array) do
        if not result[v.sender] then
            result[v.sender] = {};
        end

        table.insert(result[v.sender], v);
    end

   return result;
end

return p