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