Module:Check for unknown parameters: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(Added entry point for modules per talk page discussion. Report any errors on talk page.)
(use preview warning rather than not-hatnote hatnote)
Line 41:
end
 
-- create the list of known args, regular expressions, and the return string
local ignoreblank = isnotempty(args['ignoreblank'])
local showblankpos = isnotempty(args['showblankpositional'])
local knownargs = {}
local unknown = args['unknown'] or 'Found _VALUE_, '
local preview = args['preview']
 
local values = {}
local res = {}
local regexps = {}
 
-- create the list of known args, regular expressions, and the return string
for k, v in pairs(args) do
if type(k) == 'number' then
Line 59 ⟶ 51:
table.insert(regexps, '^' .. v .. '$')
end
end
if isnotempty(preview) then
preview = '<div class="hatnote" style="color:red"><strong>Warning:</strong> ' .. preview .. ' (this message is shown only in preview).</div>'
elseif preview == nil then
preview = unknown
end
 
-- loop over the parent args, and make sure they are on the list
local ignoreblank = isnotempty(args['ignoreblank'])
local showblankpos = isnotempty(args['showblankpositional'])
local values = {}
for k, v in pairs(pargs) do
if type(k) == 'string' and knownargs[k] == nil then
Line 88 ⟶ 78:
 
-- add results to the output tables
local res = {}
if #values > 0 then
local unknownunknown_text = args['unknown'] or 'Found _VALUE_, '
 
if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then
unknownlocal preview_text = args['preview']
if isnotempty(previewpreview_text) then
preview_text = require('Module:If preview')._warning({preview_text})
elseif preview == nil then
preview_text = unknown_text
end
unknown_text = preview_text
end
for _, v in pairs(values) do
-- Fix odd bug for | = which gets stripped to the empty string and
if v == '' then
-- breaks category links
-- Fix odd bug for | = which gets stripped to the empty string and
if v == '' then v = ' ' end
-- breaks category links
 
v = ' '
end
-- avoid error with v = 'example%2' ("invalid capture index")
local r = unknownunknown_text:gsub('_VALUE_', {_VALUE_ = v})
table.insert(res, r)
end