|
|
Line 1: |
Line 1: |
| require('Module:CommonFunctions'); | | require('Module:CommonFunctions') |
| local getArgs = require('Module:Arguments').getArgs | | local getArgs = require('Module:Arguments').getArgs |
| local p = {} | | local p = {} |
|
| |
|
| function p.Patch(frame) | | function p.main(frame) |
| local args = getArgs(frame) | | local args = getArgs(frame); |
| | local headers = {'test'} |
| | local cells = {} |
|
| |
|
| -- Collect arguments from the old table. | | return inspect_dump(headers) |
| local input_args = split(mw.text.unstrip(args.orig), '|')
| |
| local old_args = {}
| |
| for k, v in ipairs(input_args) do
| |
| local old_arg = split(v, '=')
| |
| if not old_arg[2] then
| |
| old_args[k] = v
| |
| else
| |
| old_args[old_arg[1]] = old_arg[2]
| |
| end
| |
| end
| |
|
| |
|
| args.orig = nil
| |
| local new_args = table.deep_copy(old_args)
| |
|
| |
| local exclude_args = {'date', 'remove'}
| |
| -- Apply the new values to the new table.
| |
| for k, v in pairs(args) do
| |
| if args[k] and not indexOf(k, exclude_args) then
| |
| new_args[k] = args[k]
| |
| end
| |
| end
| |
|
| |
| -- Remove the values requested in the new table.
| |
| for k, v in pairs(old_args) do
| |
| if indexOf(k, split(args.remove)) then
| |
| new_args[k] = nil
| |
| end
| |
| end
| |
|
| |
| if args.dump then
| |
| return inspect_dump(frame, new_args)
| |
| end
| |
|
| |
| -- Finally, display the tabs.
| |
| local old_table = frame:expandTemplate{
| |
| title = 'Damage',
| |
| args = old_args
| |
| }
| |
|
| |
| local new_table = frame:expandTemplate{
| |
| title = 'Damage',
| |
| args = new_args
| |
| }
| |
|
| |
| local kr_date = 'KR (' .. args.date .. ')'
| |
|
| |
| local tabber = frame:expandTemplate{
| |
| title = 'Tabber',
| |
| args = {
| |
| NA = old_table,
| |
| [kr_date] = new_table
| |
| }
| |
| }
| |
|
| |
| return tabber
| |
|
| |
| end | | end |
|
| |
|
| return p | | return p |