Module:Infobox body of water tracking
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Infobox body of water tracking/doc
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 no_convert_parameters = 0
if hasnoconvert(args['catchment'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['length'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['width'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['area'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['depth'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['max-depth'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['volume'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['shore'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['elevation'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['temperature_low'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if hasnoconvert(args['temperature_high'] or '') then
no_convert_parameters = no_convert_parameters + 1
end
if (no_convert_parameters > 0) then
cats = cats .. '[[Category:Pages using infobox body of water without convert template]]'
end
if (unknown_parameters > 0) then
cats = cats .. '[[Category:Pages using infobox body of water with unknown parameters]]'
end
return cats
end
return p