Check For Unknown Parameters

This module may be appended to a template to check for uses of unknown parameters.

Check For Unknown Parameters Module documentation

Usage

{{#invoke:check for unknown parameters|check |unknown=[[Category:Some tracking category]] |arg1|arg2|...|argN}} 

or to sort the entries in the tracking category by parameter

{{#invoke:check for unknown parameters|check |unknown=[[Category:Some tracking category|_VALUE_]] |arg1|arg2|...|argN}} 

or for an explicit red error message

{{#invoke:check for unknown parameters|check |unknown=Sorry, I don't recognize _VALUE_ |arg1|arg2|...|argN}} 

or to use hidden error messages which can be viewed in the HTML source

{{#invoke:check for unknown parameters|check |unknown=HIDDEN ERROR: Usage of "_VALUE_" is not recognized |arg1|arg2|...|argN}} 

Here, arg1, arg2, ..., argN, are the known parameters. Any parameter which is used, but not on this list, will cause the module to return whatever is passed with the unknown parameter. The _VALUE_ keyword, if used, will be changed to the name of the parameter. This is useful for either sorting the entries in a tracking category, or for provide more explicit information.

By default, the module makes no distinction between a defined-but-blank parameter and a non-blank parameter. To only track non-blank parameters use |ignoreblank=1.

Example

{{Infobox | above = {{{name|}}}  | label1 = Height | data1 = {{{height|}}}  | label2 = Weight | data2 = {{{weight|}}}  | label3 = Website | data3 = {{{website|}}} }}{{#invoke:Check for unknown parameters|check | unknown = [[Category:Some tracking category|_VALUE_]] | name | height | weight | website }}
-- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {}  local function trim(s) return s:match('^%s*(.-)%s*$') end  local function isnotempty(s) return s and trim(s) ~= '' end  function p.check (frame) local args = frame.args local pargs = frame:getParent().args local ignoreblank = isnotempty(frame.args['ignoreblank']) local showblankpos = isnotempty(frame.args['showblankpositional']) local knownargs = {} local unknown = frame.args['unknown'] or 'Found _VALUE_, ' local preview = frame.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 v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end if isnotempty(preview) then  preview = '
Warning: ' .. preview .. ' (this message is shown only in preview).
'
elseif preview == nil then preview = unknown end -- loop over the parent args, and make sure they are on the list for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for i, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then k = mw.ustring.gsub(k, '[^%w\-_ ]', '?') table.insert(values, k) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil and ( showblankpos or isnotempty(v) ) then local vlen = mw.ustring.len(v) v = mw.ustring.sub(v, 1, (vlen < 25) and vlen or 25) v = mw.ustring.gsub(v, '[^%w\-_ ]', '?') table.insert(values, k .. ' = ' .. v .. ((vlen >= 25) and ' ...' or '')) end end -- add resuls to the output tables if #values > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then unknown = preview end for k, v in pairs(values) do if v == '' then -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links v = ' ' end local r = unknown:gsub('_VALUE_', v) table.insert(res, r) end end return table.concat(res) end return p

Tags:

🔥 Trending searches on Wiki मैथिली:

बालकृष्ण समखयरमई ७दशावतारसंयुक्त राज्य अमेरिकाटु स्टेट्स (चलचित्र)मंगलोरभूपी शेरचनआर्य समाजट्विटरजन्तु विज्ञानअशोक लेल्यान्डमगर भाषा२३ अप्रैलअफगानिस्तान८ फरबरीतापसी पन्नूमईचीनऋतुहर्षाली मल्होत्राअप्रैल २८दड़िभङ्गाघोड़ाबदरीनाथ भट्टराईरामविलास पासवानहरगोविन्द खुरानासुभाषचन्द्र बोसजहाँगीरतृषा (अभिनेत्री)मारवाडीकरन वाहीसुहाना खानगौतम अदानीकाजल राघवानीबोधि कायस्थसाक्षरता१९९४वसुन्धरा राजे सिन्धिया१४५३ड्यानियल एल्वसपेन्गुइनफिलिपिन्सअन्तर्राष्ट्रिय आर्थिक कोष१८१६जानकी मन्दिरराघव लरेन्सबाल गंगाधर तिलकभारतीय निर्वाचन आयोग३० अप्रैलरामाश्रय झा 'रामरंग'कम्प्युटरआँगुर प्रयोगसितापुर प्रदमैथिली ठाकुरकपिल शर्माघृत कुमारीइम्तियाज अलीएकेडमी पुरस्काररागेश्वरीयुरोपओम जय जगदीश हरेशान्तनुचलचित्रअब्बास (अभिनेता)गौरी मल्लइथियोपियाबकैया गाउँपालिकाब्रिटिश भारतीय🡆 More