check For Unknown Parameters

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

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 }}


See also


-- 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 isnotempty(s) return s and s:match( '^%s*(.-)%s*$' ) ~= '' end  function p.check (frame) local args = frame.args local pargs = frame:getParent().args local ignoreblank = isnotempty(frame.args['ignoreblank']) local checkpos = isnotempty(frame.args['checkpositional']) local knownargs = {} local unknown = 'Found _VALUE_, '  local res = {} local comments = {} local commentstr = ''  -- create the list of known args, and the return string for k, v in pairs(args) do if type(k) == 'number' then v = mw.ustring.gsub(v, '^%s*(.-)%s*$', '%1') knownargs[v] = 1 else if (k == 'unknown' and type(v) == 'string') then unknown = v end end 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 if( (not ignoreblank) or (ignoreblank and isnotempty(v)) ) then k = mw.ustring.gsub(k, '[^%w\-_ ]', '?') local r = mw.ustring.gsub(unknown, '_VALUE_', k) table.insert(res, r) table.insert(comments, '"' .. k .. '"') end elseif(checkpos and type(k) == 'number' and knownargs[tostring(k)] == nil) then if( (not ignoreblank) or (ignoreblank and isnotempty(v)) ) then local r = mw.ustring.gsub(unknown, '_VALUE_', k) table.insert(res, r) table.insert(comments, '"' .. k .. '"') end end end  if(#comments > 0) then commentstr = '' end  return table.concat(res) .. commentstr end  return p 

Tags:

🔥 Trending searches on Wiki Føroyskt:

Átrúnaður í FøroyumBerlinTom HanksJóhannes DoyparinJohn Cena1806Aretha FranklinJohannesburgHøgni MohrNiðurlondÆgirFranska Kollveltingin15211962FullveldisríkiGeorge CarlinVilhelm III av OnglandiWiesbadenAmerikonsk søgaGreta ThunbergKyrrahaviðNepalEurovision Song ContestJudy CollinsNikolaos KapnasSun Yat-senGuttormur í MúlaMalibuBridgeportMuslimarThe DoorsAthenMike Pence28. marsVetrar-OL 2014BýurEvnafrøðiAmerikanskur fótbóltur1282Høvuðsstaður1964Sameindu EmirríkiniStaffanstorpFjónVladimir LeninBorgarstjóriTýsklandHeimsins londEvroparáðiðDavid CameronMálføriNiueJupiterDante AlighieriJørðin4. augustTvøroyrar BóltfelagFøroyska fótbóltsmanslandsliðiðFred AstaireRussland1682RavnurConnecticutSaladinSjónvarp Føroya2002Ongland14. marsGeorgia (land)🡆 More