ماڊيول:Check for deprecated parameters
ڏيک
| هي سانچو عام استعمال لاءِ تيار آهي ۽ مڪمل حالت ۾ آهي۔ |
| هي سانچو ھزارين صفحن تي استعمال ٿئي ٿو، تنهنڪري ان ۾ ڪيل تبديليون وڏي پيماني تي نظر اچي سگهن ٿيون۔ تبديليون لاڳو ڪرڻ کان اڳ، مهرباني ڪري انهن کي سانچي جي /ريتخاني يا /آزمائشي حالتون وارن ذيلي صفحن ۾ آزمائي ڏسو، يا پنهنجي يوزر ذيلي صفحي ۾ جانچ ڪريو۔ تبديليون لاڳو ڪرڻ کان اڳ ڳالهيون صفحي تي بحث ڪرڻ تي پڻ غور ڪيو۔ |
| هي سانچو لوا استعمال ڪري ٿو: |
ماڊيول:Check for deprecated parameters کي ڪنهن سانچي سان شامل ڪري پراڻن (متروڪ) پيرا ميٽرن جي استعمال کي جانچڻ لاءِ استعمال ڪري سگهجي ٿو. جڏهن اهو متروڪ پيرا ميٽرن جو استعمال ڳولي ٿو ته اهو صفحي کي هڪ مخصوص زمري ۾ شامل ڪري ٿو ۽ پريويو (preview) دوران هڪ پيغام ڏيکاري ٿو.
نوٽ: متروڪ ٿيڻ جي نوعيت سبب، اڪثر هن ماڊيول کي لاڳو ڪندڙ سانچا موجود نه هوندا.
ٽيسٽ ڪرڻ لاءِ ڏسو ٽيسٽ ڪيسن جو نتيجو. مڪمل جاچ لاءِ هن کي عام ڏيک ۽ پريويو ٻنهي صورتن ۾ ڏسڻ گهرجي.
استعمال
[سنواريو]{{#invoke:Check for deprecated parameters|check
| _category = {{main other|[[زمرو:صفحن ۾ TEMPLATENAME سان متروڪ پيرا ميٽرن جو استعمال|_VALUE_]]}}
| _remove = RemoveParam1; RemoveParam2
| old_param1 = new_param1
| old_param2 = new_param2
| ....
| old_paramN = new_paramN
}}
پيرا ميٽر
[سنواريو]|_category=- جڏهن ڪو نامعلوم پيرا ميٽر استعمال ٿئي ته ڇا ڪجي. عام طور تي ٽريڪنگ زمرو استعمال ڪيو ويندو آهي ته جيئن اهي صفحا گڏ ڪيا وڃن جيڪي متروڪ پيرا ميٽر استعمال ڪن ٿا، يا پوءِ غلطي ڏيکاري وڃي.|_remove=-سان جدا ڪيل پيرا ميٽرن جي فهرست جيڪي صرف هٽايا وڃن، نه ته ڪنهن ٻئي سان تبديل ڪيا وڃن. مثال:;|_remove=Param1; Param2; Param3|ignoreblank=– ڊفالٽ طور، ماڊيول خالي ۽ غير خالي پيرا ميٽرن ۾ فرق نٿو ڪري. يعني|foo=x۽|foo=ٻنهي کي رپورٽ ڪيو ويندو. صرف غير خالي پيرا ميٽرن کي ٽريڪ ڪرڻ لاءِ|ignoreblank=1استعمال ڪريو. جيڪڏهن توهان دليلن کي ماڊيول:Arguments سان صاف ڪريو ۽ پوءِ هن ماڊيول کي سڏيو، ته پوءِ هن پيرا ميٽر جي ضرورت نه پوندي، ڇاڪاڻ ته اهو ماڊيول پاڻ خالي دليلن کي نظرانداز ڪري ٿو.|preview=– هڪ ڪسٽم پريويو خبرداري پيغام مقرر ڪريو. نوٽ ڪريو ته ڊفالٽ پيغام آهي
- This is a redirect.
- چوريو سانچو:ڳاڙهو
پڻ ڏسو
[سنواريو]- زمرو:متروڪ پيرا ميٽر
- ماڊيول:Params – پيرا ميٽرن سان پيچيده عملن لاءِ
- ماڊيول:Check for unknown parameters
- ماڊيول:Check for conflicting parameters – پيرا ميٽرن جي ٽڪراءَ جي جاچ لاءِ ماڊيول
-- 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 isnotempty(s)
return s and mw.text.trim(s) ~= ''
end
local function scanValues(values,results,args,replaceTable)
for k, v in pairs(values) do
local c = args.category:gsub('_VALUE_', v)
table.insert(results, c)
if v == '' then
-- Fix odd bug for | = which gets stripped to the empty string
-- and breaks category links
v = ' '
end
local replaceString = '"'..v..'". '
local replaceValue = replaceTable and replaceTable[v]
replaceString = replaceString..(replaceValue and 'Replace with "'..replaceValue..'".' or 'It should be removed.')
local p = args.preview:gsub('_VALUE_',replaceString)
table.insert(results, p )
end
end
function p.check (frame)
-- create the table of deprecated values and their matching new value
return p._check(frame.args, frame:getParent().args, frame:getParent():getTitle())
end
local moduleParams = {ignoreblank=true, preview=true, _category=true, _remove=true}
function p._check(args, pargs, caller)
local dep_values = {}
for k, v in pairs(args) do
if not moduleParams[k] then
dep_values[k] = v
end
end
-- Parse params to remove
local removes = {}
if args['_remove'] then
for r in args['_remove']:gmatch("([^;]+)") do
removes[mw.text.trim(r)] = 1
end
end
-- loop over the parent args and see if any are deprecated
local values = {}
local remove_values = {}
local ignoreblank = isnotempty(args['ignoreblank'])
for k, v in pairs(pargs) do
if not ignoreblank or isnotempty(v) then
if dep_values[k] then
table.insert(values, k)
elseif removes[k] then
table.insert(remove_values, k)
end
end
end
-- find out about calling context
local title = mw.title.getCurrentTitle()
-- create local defaulted arguments
local category = args["_category"] or title.namespace == 0 and "[[Category:Pages with deprecated parameters]]" or ""
local preview = args['preview'] or 'Page using [['..caller..']] with deprecated parameter _VALUE_'
if isnotempty(preview) then
preview = require('Module:If preview')._warning({preview})
end
local localArgs = {category=category,preview=preview}
-- scan through values and remove_values and create output results
local results = {}
scanValues(values,results,localArgs,dep_values)
scanValues(remove_values,results,localArgs)
return table.concat(results)
end
return p