Il Modulo:Blacklist può servire nella manutenzione dei template per inserire in una categoria di errore parametri errati e obsoleti.

Uso

Inserire nel template:

{{#invoke:Blacklist|blacklist|blacklist=parametro1, parametro2, ... parametro#}}

Dove parametro1, parametro2, ... parametro# sono una lista di nomi di parametri separati da virgola (",") che non devono essere più usati. Opzionalmente un nome di parametro può contenere "#" per indicare un gruppo di parametri numerati consecutivamente (per esempio come in autore1, autore2, ecc. in {{Cita testo}}.

Il modulo ritorna una stringa vuota se non trova quel nome di parametro in un'istanza di chiamata del template, mentre ritorna il nome del parametro trovato se lo trova.

Un esempio più completo di uso può essere (fatto nel {{Sportivo}}:

{{#if:{{NAMESPACE}}||{{#if:{{#invoke:Blacklist|blacklist|blacklist=Nazionale, Nazionale#, GiovaniliSquadre, GiovaniliSquadre#}}|[[Categoria:Errori di compilazione del template Sportivo - parametri obsoleti]]}}}

Il primo #if ({{#if:{{NAMESPACE}}|| ... }}) forza l'esecuzione solo in NS:0, il secondo #if chiama il modulo per identificare le voci in cui vengono chiamati i parametri indicati e inserirle nella categoria di errore.


--Modulo per gestire blacklist/whitelist di parametri in un template

local p = {}

local getArgs = require('Module:Arguments').getArgs

function p.blacklist(frame)
	local config = getArgs(frame, {frameOnly=true})
	local cblacklist = config.blacklist
	if not cblacklist or mw.text.trim(cblacklist) == '' then
		return ''
	end
	local blacklist = {}
	for _,name in ipairs(mw.text.split(cblacklist, "%s*,%s*")) do
		blacklist[name] = true
	end
	local args = getArgs(frame, {parentOnly=true, trim = false,	removeBlanks = false})
	for name,value in pairs(args) do
		name_check = mw.ustring.gsub(name, "%d+", "#")
		if blacklist[name_check] then
			return name
		end
	end
	return ''
end

return p