Permanently protected module
From Wikipedia, the free encyclopedia


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

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

	-- create the table of deprecated values and their matching new value

	local args = frame.args

	local dep_values = {}

	for k, v in pairs(args) do

		if k == 'ignoreblank' or k == 'preview' or k == 'deprecated' then else

			dep_valuesk = v

		end

	end



	-- loop over the parent args and see if any are deprecated

	local values = {}

	local ignoreblank = isnotempty(frame.args'ignoreblank'])

	local pargs = frame:getParent().args

	for k, v in pairs(pargs) do

		if ignoreblank then

			if dep_valuesk and v~='' then

				table.insert(values, k)

			end

		else

			if dep_valuesk then

				table.insert(values, k)

			end	

		end

	end

	

	-- add results to the output tables

	local res = {}

	if #values > 0 then

		local preview = frame.args'preview' or

			'Page using [['..frame:getParent():getTitle()..']] with deprecated parameter _VALUE_'

		if isnotempty(preview) then

			preview = require('Module:If preview')._warning({

				preview

			})

		end

		-- Kind of dangerous to trust that this is never nil, but I guess it's

		-- preferable to display that the use of the module is broken rather than

		-- have some sort of tracking category for pages which have an unknown

		-- parent tracking template.

		local category = frame.args'category'

		for k, v in pairs(values) do

			local c = category:gsub('_VALUE_', v)

			table.insert(res, c)

			if v == '' then

				-- Fix odd bug for | = which gets stripped to the empty string

				-- and breaks category links

				v = ' '

			end

			local p = preview:gsub(

				'_VALUE_',

				'"'..v..'". Replace with "'..dep_valuesv..'".'

			)

			table.insert(res, p )

		end

	end



	return table.concat(res)

end



return p
Permanently protected module
From Wikipedia, the free encyclopedia


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

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

	-- create the table of deprecated values and their matching new value

	local args = frame.args

	local dep_values = {}

	for k, v in pairs(args) do

		if k == 'ignoreblank' or k == 'preview' or k == 'deprecated' then else

			dep_valuesk = v

		end

	end



	-- loop over the parent args and see if any are deprecated

	local values = {}

	local ignoreblank = isnotempty(frame.args'ignoreblank'])

	local pargs = frame:getParent().args

	for k, v in pairs(pargs) do

		if ignoreblank then

			if dep_valuesk and v~='' then

				table.insert(values, k)

			end

		else

			if dep_valuesk then

				table.insert(values, k)

			end	

		end

	end

	

	-- add results to the output tables

	local res = {}

	if #values > 0 then

		local preview = frame.args'preview' or

			'Page using [['..frame:getParent():getTitle()..']] with deprecated parameter _VALUE_'

		if isnotempty(preview) then

			preview = require('Module:If preview')._warning({

				preview

			})

		end

		-- Kind of dangerous to trust that this is never nil, but I guess it's

		-- preferable to display that the use of the module is broken rather than

		-- have some sort of tracking category for pages which have an unknown

		-- parent tracking template.

		local category = frame.args'category'

		for k, v in pairs(values) do

			local c = category:gsub('_VALUE_', v)

			table.insert(res, c)

			if v == '' then

				-- Fix odd bug for | = which gets stripped to the empty string

				-- and breaks category links

				v = ' '

			end

			local p = preview:gsub(

				'_VALUE_',

				'"'..v..'". Replace with "'..dep_valuesv..'".'

			)

			table.insert(res, p )

		end

	end



	return table.concat(res)

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook