Module:Check for unknown parameters: Difference between revisions
add support for preview messages
m>Mr. Stradivarius (various changes: add a trim function, remove unnecessary parens, don't check type for wikitext values (they are always strings), and don't use mw.ustring when the string library will do (it's a lot faster)) |
m>Frietjes (add support for preview messages) |
||
Line 19: | Line 19: | ||
local knownargs = {} | local knownargs = {} | ||
local unknown = 'Found _VALUE_, ' | local unknown = 'Found _VALUE_, ' | ||
local preview = nil | |||
local res = {} | local res = {} | ||
Line 25: | Line 26: | ||
local commentstr = '' | local commentstr = '' | ||
local ispreview = frame:preprocess( "{{REVISIONID}}" ) == "" and 1 or 0 | |||
-- create the list of known args, regular expressions, and the return string | -- create the list of known args, regular expressions, and the return string | ||
for k, v in pairs(args) do | for k, v in pairs(args) do | ||
Line 30: | Line 33: | ||
v = trim(v) | v = trim(v) | ||
knownargs[v] = 1 | knownargs[v] = 1 | ||
elseif k == 'unknown' then | elseif k == 'unknown' and ispreview == 0 then | ||
unknown = v | unknown = v | ||
elseif k == 'preview' and ispreview == 1 then | |||
preview = v | |||
elseif k:find('^regexp[1-9][0-9]*$') then | elseif k:find('^regexp[1-9][0-9]*$') then | ||
table.insert(regexps, '^' .. v .. '$') | table.insert(regexps, '^' .. v .. '$') | ||
end | end | ||
end | end | ||
if ispreview == 1 and preview then unknown = preview end | |||
-- adds one result to the output tables | -- adds one result to the output tables | ||
local function addresult(k) | local function addresult(k) |