Module:ModuleLevelTable: Difference between revisions

From The First Descendant Wiki
No edit summary
No edit summary
Line 1: Line 1:
local p = {}
local p = {}


function p.parseCSV(input)
local parsedArray = {}
     local array = {}
 
     local i = 1
local function addToParsedArray(parsedTable)
    parsedArray[#parsedArray+1] = {}
    for i=1,#parsedTable do
        parsedArray[#parsedArray][i] = parsedTable[i]
    end
end
 
local function parseCSV(csvString) -- csvString is one line
     local result = {}
     for value in string.gmatch(csvString, '([^,]+)') do
        table.insert(result, value)
    end
    return result
end
 
function p.process(frame)
    --local csvText = frame.args[1] or ""
    local csvText = "ModuleTestPage#_9a88490adf412a0c81fe3a2fa2d78e3c,Test Module Name,Transcendent,Almandine,High-Power Rounds,10,6,Resource,,,,,,,,,,"
      
      
     -- Split the input by lines
     -- Put all the CSV lines into an array
     for line in mw.text.split(input, "\n") do
     for line in csvText:gmatch("[^\r\n]+") do
        array[i] = {}
         local parsedLine = parseCSV(line)
         local j = 1
         if #parsedLine > 0 then
       
             addToParsedArray(parsedLine)
        -- Split each line by commas
         for cell in mw.text.split(line, ",") do
             array[i][j] = mw.text.trim(cell)
            j = j + 1
         end
         end
       
        i = i + 1
     end
     end
      
      
     return array
     return parsedArray[1][1]
end
 
function p.getTable(frame)
    local input = frame.args[1]
    local array = p.parseCSV(input)
    return array[1][1]
end
end


return p
--return p

Revision as of 14:56, 4 June 2024

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

local p = {}

local parsedArray = {}

local function addToParsedArray(parsedTable)
    parsedArray[#parsedArray+1] = {}
    for i=1,#parsedTable do
        parsedArray[#parsedArray][i] = parsedTable[i]
    end
end

local function parseCSV(csvString) -- csvString is one line
    local result = {}
    for value in string.gmatch(csvString, '([^,]+)') do
        table.insert(result, value)
    end
    return result
end

function p.process(frame)
    --local csvText = frame.args[1] or ""
    local csvText = "ModuleTestPage#_9a88490adf412a0c81fe3a2fa2d78e3c,Test Module Name,Transcendent,Almandine,High-Power Rounds,10,6,Resource,,,,,,,,,,"
    
    -- Put all the CSV lines into an array
    for line in csvText:gmatch("[^\r\n]+") do
        local parsedLine = parseCSV(line)
        if #parsedLine > 0 then
            addToParsedArray(parsedLine)
        end
    end
    
    return parsedArray[1][1]
end

--return p