Module:Table/IOTS: Difference between revisions

From Growtopia
Jump to navigationJump to search
>HashJona
mNo edit summary
>HashJona
mNo edit summary
Line 47: Line 47:
             end
             end
         end
         end
end
for i, value in ipairs(results) do
results[i] = value or ""
end
end
     return debug_result(table.concat(results, '\n'), debug_flag)
     return debug_result(table.concat(results, '\n'), debug_flag)

Revision as of 20:47, 5 April 2025

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

local p = {}
local months = {
	January = 1,
	February = 2,
	March = 3,
	April = 4,
	May = 5,
	June = 6,
	July = 7,
	August = 8,
	September = 9,
	October = 10,
	November = 11,
	December = 12,
	['-'] = 13
}

function debug_result(var, debug_flag)
   if debug_flag == '1' then 
       return '<pre>' .. var .. '</pre>'
   else
       return mw.getCurrentFrame():preprocess(var)
   end
end
	
function p.build_table(frame) 
	local args = frame:getParent().args
	local debug_flag = args['debug'] or frame.args['debug'] or 0
	local data = args['data'] or ''
	local lines = mw.text.split(data, "\n")
	
	local results = {}
	for _, line in ipairs(lines) do
        line = mw.text.trim(line)
        if line ~= "" then
           
            local parts = mw.text.split(line, "|")
            local month = parts[1] or "-"
            local item  = parts[2] or ""
            local description  = parts[3] or ""
            
            local key = months[month]
            if  results[key] == nil then 
            	results[key] = '|-\n|colspan="1" rowspan="2"|' .. month .. '\n|{{ItemLink|' .. item .. "}}\n|''<nowiki>" .. description .. "''</nowiki>"
            else
            	results[key] = results[key] .. '\n|-\n|{{ItemLink|' .. item .. "}}\n|''<nowiki>" .. description .. "''</nowiki>"
            end
        end
	end
	
	for i, value in ipairs(results) do
		results[i] = value or ""
	end
    return debug_result(table.concat(results, '\n'), debug_flag)

end

return p