Module:Infobox body of water tracking
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module is used by Template:Infobox body of water.
Usage
{{#invoke:Infobox body of water tracking|tracking}}
Tracking/maintenance categories
- Category:Wikipedia infobox body of water articles needing maintenance (0)
- Category:Wikipedia infobox body of water articles using deprecated parameters (0)
- Category:Wikipedia infobox body of water articles using duplicate parameters (0)
- Category:Wikipedia infobox body of water articles without coordinates (0)
- Category:Wikipedia infobox body of water articles without image (0)
- Category:Pages using infobox body of water with unknown parameters (0)
local p = {}
function p.tracking(frame)
local function isblank( val )
return (val == nil) or val:match('^[%s]*$')
end
local function hasnoconvert( val )
local res = nil
val = mw.text.killMarkers(val)
if val:match('[0-9]') then
res = 1
if val:match('[%(][−0-9%.]') and val:match('[%)]') then
res = nil
end
end
return res
end
local cats = ''
local args = frame:getParent().args
local AZ = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
if (isblank(args['image']) and isblank(args['image_lake']) ) then
cats = cats .. '[[Category:Wikipedia infobox body of water articles without image]]'
end
if isblank(args['coords']) and isblank(args['coordinates']) then
cats = cats .. '[[Category:Wikipedia infobox body of water articles without coordinates]]'
end
local duplicate_parameters = 0
local unknown_parameters = 0
if (args['child'] and args['embed']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['name'] and args['lake_name']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['image'] and args['image_lake']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['alt'] and args['alt_lake']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['caption'] and args['caption_lake']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['coordinates'] and args['coords']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['lake_type'] and args['type']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['ocean_type'] and args['type']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['part_of'] and args['parent']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['basin_countries'] and args['countries']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['catchment_km2'] and args ['catchment']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['length_km'] and args['length']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['width_km'] and args['width']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['area_km2'] and args['area']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['depth_m'] and args['depth']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['max-depth_m'] and args['max-depth']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['volume_km3'] and args['volume']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['shore_km'] and args['shore']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['elevation_m'] and args['elevation']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['settlements'] and args['cities']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['extra'] and args['nrhp']) then
duplicate_parameters = duplicate_parameters + 1
end
if (args['extra'] and args['embedded']) then
duplicate_parameters = duplicate_parameters + 1
end
if (duplicate_parameters > 0) then
cats = cats .. '[[Category:Wikipedia infobox body of water articles ' ..
'using duplicate parameters|' ..
string.sub(AZ, duplicate_parameters, duplicate_parameters+1) .. ']]'
end
local deprecated_parameters = 0
if hasnoconvert(args['catchment'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['length'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['width'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['area'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['depth'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['max-depth'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['volume'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['shore'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['elevation'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['temperature_low'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if hasnoconvert(args['temperature_high'] or '') then
deprecated_parameters = deprecated_parameters + 1
end
if (deprecated_parameters > 0) then
cats = cats .. '[[Category:Wikipedia infobox body of water articles ' ..
'using deprecated parameters|' ..
string.sub(AZ,deprecated_parameters, deprecated_parameters+1) .. ']]'
end
if (unknown_parameters > 0) then
cats = cats .. '[[Category:Pages using infobox body of water with unknown parameters]]'
end
return cats
end
return p