×
Create a new article
Write your page title here:
We currently have 10,693 articles on Polandball Wiki. Type your article name above or create one of the articles listed here!



    Polandball Wiki

    Module:Check for deprecated parameters/sandbox

    Documentation for this module may be created at Module:Check for deprecated parameters/sandbox/doc

    -- 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_values[k] = 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_values[k] and v~='' then
    				table.insert(values, k)
    			end
    		else
    			if dep_values[k] 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_values[v]..'".'
    			)
    			table.insert(res, p )
    		end
    	end
    
    	return table.concat(res)
    end
    
    return p
    
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.

    Recent changes

  • Hurstbergn • 1 minute ago
  • Sicilian Xell • 21 minutes ago
  • Sicilian Xell • 22 minutes ago
  • Sicilian Xell • 22 minutes ago
  • Cookies help us deliver our services. By using our services, you agree to our use of cookies.