Module:Citation/CS1: Difference between revisions
m
deprecated enumerated parameter error message fix;
No edit summary |
m (deprecated enumerated parameter error message fix;) |
||
Line 3,836: | Line 3,836: | ||
local function validate (name, cite_class, empty) | local function validate (name, cite_class, empty) | ||
local name = tostring (name); | local name = tostring (name); | ||
local enum_name; -- for enumerated parameters, is name with enumerator replaced with '#' | |||
local state; | local state; | ||
local function state_test (state, name) -- local function to do testing of state values | local function state_test (state, name) -- local function to do testing of state values | ||
Line 3,859: | Line 3,860: | ||
-- limited enumerated parameters list | -- limited enumerated parameters list | ||
enum_name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits) | |||
state = whitelist.limited_numbered_arguments[ | state = whitelist.limited_numbered_arguments[enum_name]; | ||
if true == state_test (state, name) then return true; end | if true == state_test (state, name) then return true; end | ||
Line 3,875: | Line 3,876: | ||
-- all enumerated parameters allowed | -- all enumerated parameters allowed | ||
enum_name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits) | |||
state = whitelist.numbered_arguments[ | state = whitelist.numbered_arguments[enum_name]; | ||
if true == state_test (state, name) then return true; end | if true == state_test (state, name) then return true; end | ||
Line 4,055: | Line 4,056: | ||
elseif not utilities.is_set (v) then -- for empty parameters | elseif not utilities.is_set (v) then -- for empty parameters | ||
if not validate (k, config.CitationClass, true) then -- is this empty parameter a valid parameter | if not validate (k, config.CitationClass, true) then -- is this empty parameter a valid parameter | ||
k = ('' == k) and | k = ('' == k) and '(empty string)' or k; -- when k is empty string (or was space(s) trimmed to empty string), replace with descriptive text | ||
table.insert (empty_unknowns, utilities.wrap_style ('parameter', k)); -- format for error message and add to the list | table.insert (empty_unknowns, utilities.wrap_style ('parameter', k)); -- format for error message and add to the list | ||
end | end |