Jump to content

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
name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits)
enum_name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits)
state = whitelist.limited_numbered_arguments[name];
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
name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits)
enum_name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits)
state = whitelist.numbered_arguments[name];
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:gsub ('^$', '(empty string)') or k; -- when k is empty string (or was space(s) trimmed to empty string), replace with descriptive text
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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.