<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ASports_table%2Fargcheck</id>
	<title>Module:Sports table/argcheck - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ASports_table%2Fargcheck"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Sports_table/argcheck&amp;action=history"/>
	<updated>2026-05-26T10:59:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Sports_table/argcheck&amp;diff=479604&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Sports_table/argcheck&amp;diff=479604&amp;oldid=prev"/>
		<updated>2021-07-16T07:21:36Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local a = {}&lt;br /&gt;
&lt;br /&gt;
local good_args = {&lt;br /&gt;
	['away_goals_header'] = 1,&lt;br /&gt;
	['bonus_header'] = 1,&lt;br /&gt;
	['class_rules'] = 1,&lt;br /&gt;
	['draw_header'] = 1,&lt;br /&gt;
	['drawpoints'] = 1,&lt;br /&gt;
	['float'] = 1,&lt;br /&gt;
	['for_against_style'] = 1,&lt;br /&gt;
	['GB_team'] = 1,&lt;br /&gt;
	['goalpoints'] = 1,&lt;br /&gt;
	['group_header'] = 1,&lt;br /&gt;
	['hide_for_against_columns'] = 1,&lt;br /&gt;
	['hide_played'] = 1,&lt;br /&gt;
	['hide_results'] = 1,&lt;br /&gt;
	['highest_pos'] = 1,&lt;br /&gt;
	['legs'] = 1,&lt;br /&gt;
	['loss_before_draw'] = 1,&lt;br /&gt;
	['loss_before_tie'] = 1,&lt;br /&gt;
	['losspoints'] = 1,&lt;br /&gt;
	['lowest_pos'] = 1,&lt;br /&gt;
	['matches_style'] = 1,&lt;br /&gt;
	['matches_text'] = 1,&lt;br /&gt;
	['match_col_width'] = 1,&lt;br /&gt;
	['note_header_res'] = 1,&lt;br /&gt;
	['only_pld_pts'] = 1,&lt;br /&gt;
	['only_totals'] = 1,&lt;br /&gt;
	['only_fa_totals'] = 1,&lt;br /&gt;
	['pct_style'] = 1,&lt;br /&gt;
	['pld_header'] = 1,&lt;br /&gt;
	['postitle'] = 1,&lt;br /&gt;
	['perc_first'] = 1,&lt;br /&gt;
	['pts_first'] = 1,&lt;br /&gt;
	['ranking_style'] = 1,&lt;br /&gt;
	['res_col_header'] = 1,&lt;br /&gt;
	['result_prefix'] = 1,&lt;br /&gt;
	['rwpoints'] = 1,&lt;br /&gt;
	['rw_header'] = 1,&lt;br /&gt;
	['section'] = 1,&lt;br /&gt;
	['short_style'] = 1,&lt;br /&gt;
	['show_GB'] = 1,&lt;br /&gt;
	['show_away_goals'] = 1,&lt;br /&gt;
	['show_bonus_points'] = 1,&lt;br /&gt;
	['show_class_rules'] = 1,&lt;br /&gt;
	['show_draw'] = 1,&lt;br /&gt;
	['show_groups'] = 1,&lt;br /&gt;
	['show_limit'] = 1,&lt;br /&gt;
	['show_matches'] = 1,&lt;br /&gt;
	['show_positions'] = 1,&lt;br /&gt;
	['show_rw'] = 1,&lt;br /&gt;
	['show_status'] = 1,&lt;br /&gt;
	['show_totals'] = 1,&lt;br /&gt;
	['solid_cell'] = 1,&lt;br /&gt;
	['sortable_table'] = 1,&lt;br /&gt;
	['source'] = 1,&lt;br /&gt;
	['start_date'] = 1,&lt;br /&gt;
	['stack_footer'] = 1,&lt;br /&gt;
	['status_order'] = 1,&lt;br /&gt;
	['status_pos'] = 1,&lt;br /&gt;
	['style'] = 1,&lt;br /&gt;
	['table_header'] = 1,&lt;br /&gt;
	['table_header_source'] = 1,&lt;br /&gt;
	['team_header'] = 1,&lt;br /&gt;
	['team_order'] = 1,&lt;br /&gt;
	['team_order_start'] = 1,&lt;br /&gt;
	['teamwidth'] = 1,&lt;br /&gt;
	['template_name'] = 1,&lt;br /&gt;
	['title'] = 1,&lt;br /&gt;
	['title_source'] = 1,&lt;br /&gt;
	['transcludesection'] = 1,&lt;br /&gt;
	['update'] = 1,&lt;br /&gt;
	['use_goal_average'] = 1,&lt;br /&gt;
	['use_goal_diff'] = 1,&lt;br /&gt;
	['use_goal_percentage'] = 1,&lt;br /&gt;
	['use_goal_ratio'] = 1,&lt;br /&gt;
	['use_goals_scored'] = 1,&lt;br /&gt;
	['use_point_percentage'] = 1,&lt;br /&gt;
	['use_goals_per_match'] = 1,&lt;br /&gt;
	['use_points_per_match'] = 1,&lt;br /&gt;
	['use_tie'] = 1,&lt;br /&gt;
	['winpoints'] = 1,&lt;br /&gt;
}&lt;br /&gt;
local good_args_HA = {&lt;br /&gt;
	['hdrawpoints'] = 1,&lt;br /&gt;
	['adrawpoints'] = 1,&lt;br /&gt;
	['hlosspoints'] = 1,&lt;br /&gt;
	['alosspoints'] = 1,&lt;br /&gt;
	['hwinpoints'] = 1,&lt;br /&gt;
	['awinpoints'] = 1&lt;br /&gt;
}&lt;br /&gt;
local good_args_PKOT = {&lt;br /&gt;
	['showOTloss'] = 1,&lt;br /&gt;
	['showOTwin'] = 1,&lt;br /&gt;
	['showPKloss'] = 1,&lt;br /&gt;
	['showPKwin'] = 1,&lt;br /&gt;
	['show_tiebr'] = 1,&lt;br /&gt;
	['PKlosspoints'] = 1,&lt;br /&gt;
	['OTlosspoints'] = 1,&lt;br /&gt;
	['PKwinpoints'] = 1,&lt;br /&gt;
	['OTwinpoints'] = 1,&lt;br /&gt;
	['PKloss_after_loss'] = 1,&lt;br /&gt;
	['OTloss_after_loss'] = 1,&lt;br /&gt;
	['tiebr_header'] = 1,&lt;br /&gt;
}&lt;br /&gt;
local ignored_args = {&lt;br /&gt;
	['date'] = 1,&lt;br /&gt;
	['ptsfirst'] = 1&lt;br /&gt;
}&lt;br /&gt;
local col_names = {&lt;br /&gt;
	['adjust_points'] = 1,&lt;br /&gt;
	['away_goals'] = 1,&lt;br /&gt;
	['draw'] = 1,&lt;br /&gt;
	['loss'] = 1,&lt;br /&gt;
	['gf'] = 1,&lt;br /&gt;
	['ga'] = 1,&lt;br /&gt;
	['group'] = 1,&lt;br /&gt;
	['pf'] = 1,&lt;br /&gt;
	['pa'] = 1,&lt;br /&gt;
	['matches'] = 1,&lt;br /&gt;
	['pos'] = 1,&lt;br /&gt;
	['rw'] = 1,&lt;br /&gt;
	['short'] = 1,&lt;br /&gt;
	['startpoints'] = 1,&lt;br /&gt;
	['status'] = 1,&lt;br /&gt;
	['win'] = 1,&lt;br /&gt;
}&lt;br /&gt;
local col_names_HA = {&lt;br /&gt;
	['draw'] = 0,&lt;br /&gt;
	['loss'] = 0,&lt;br /&gt;
	['gf'] = 0,&lt;br /&gt;
	['ga'] = 0,&lt;br /&gt;
	['pf'] = 0,&lt;br /&gt;
	['pa'] = 0,&lt;br /&gt;
	['rw'] = 0,&lt;br /&gt;
	['hdraw'] = 1,&lt;br /&gt;
	['adraw'] = 1,&lt;br /&gt;
	['hloss'] = 1,&lt;br /&gt;
	['aloss'] = 1,&lt;br /&gt;
	['hwin'] = 1,&lt;br /&gt;
	['awin'] = 1,&lt;br /&gt;
	['hga'] = 1,&lt;br /&gt;
	['aga'] = 1,&lt;br /&gt;
	['hgf'] = 1,&lt;br /&gt;
	['agf'] = 1,&lt;br /&gt;
	['hpa'] = 1,&lt;br /&gt;
	['apa'] = 1,&lt;br /&gt;
	['hpf'] = 1,&lt;br /&gt;
	['apf'] = 1,&lt;br /&gt;
}&lt;br /&gt;
local col_names_PKOT = {&lt;br /&gt;
	['PKloss'] = 1,&lt;br /&gt;
	['OTloss'] = 1,&lt;br /&gt;
	['PKwin'] = 1,&lt;br /&gt;
	['OTwin'] = 1,&lt;br /&gt;
	['tiebr'] = 1&lt;br /&gt;
}&lt;br /&gt;
local tracked_styles = {&lt;br /&gt;
	['football'] = 'WDL',&lt;br /&gt;
	['WDL'] = 'WDL',&lt;br /&gt;
	['WL'] = 'WDL',&lt;br /&gt;
	['WDLHA'] = 'HA',&lt;br /&gt;
	['WDL OT'] = 'PKOT',&lt;br /&gt;
	['WLHA'] = 'HA',&lt;br /&gt;
	['WL OT'] = 'PKOT',&lt;br /&gt;
	['WL PK'] = 'PKOT',&lt;br /&gt;
	['WL OTL tiebreak'] = 'PKOT'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function a.check(targs, pargs)&lt;br /&gt;
	local teams = {}&lt;br /&gt;
	local missing_teams = {}&lt;br /&gt;
	local results = {}&lt;br /&gt;
	local missing_results = {}&lt;br /&gt;
	local orphaned_match_notes = {}&lt;br /&gt;
	local orphaned_results = {}&lt;br /&gt;
	local orphaned_names = {}&lt;br /&gt;
	local orphaned_notes = {}&lt;br /&gt;
	local ignored = {}&lt;br /&gt;
	local possibly_ignored = {}&lt;br /&gt;
	local unknown = {}&lt;br /&gt;
	local warn = {}&lt;br /&gt;
	local track = {}&lt;br /&gt;
	&lt;br /&gt;
	local mstyle = mw.ustring.gsub(targs['style'] or '', '[%s_][%s_]*', ' ')&lt;br /&gt;
	mstyle = tracked_styles[mstyle]&lt;br /&gt;
	&lt;br /&gt;
	if mstyle == nil then&lt;br /&gt;
		return warn,track&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if mstyle == 'HA' then&lt;br /&gt;
		for k, v in pairs(good_args_HA) do&lt;br /&gt;
			good_args[k] = v ~= 0 and v or nil&lt;br /&gt;
		end&lt;br /&gt;
		for k, v in pairs(col_names_HA) do&lt;br /&gt;
			col_names[k] = v ~= 0 and v or nil&lt;br /&gt;
		end&lt;br /&gt;
		if targs['only_fa_totals'] then&lt;br /&gt;
			col_names['pf'] = 1&lt;br /&gt;
			col_names['gf'] = 1&lt;br /&gt;
			col_names['pa'] = 1&lt;br /&gt;
			col_names['ga'] = 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if mstyle == 'PKOT' then&lt;br /&gt;
		for k, v in pairs(good_args_PKOT) do&lt;br /&gt;
			good_args[k] = v ~= 0 and v or nil&lt;br /&gt;
		end&lt;br /&gt;
		for k, v in pairs(col_names_PKOT) do&lt;br /&gt;
			col_names[k] = v ~= 0 and v or nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Alternative syntax for team list&lt;br /&gt;
	if targs['team_order'] and targs['team_order'] ~= '' then&lt;br /&gt;
		local tlist = mw.text.split(targs['team_order'], '%s*[;,]%s*')&lt;br /&gt;
		for k, tname in ipairs(tlist) do&lt;br /&gt;
			if tname ~= '' then&lt;br /&gt;
				targs['team' .. k] = tname&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Limited tracking if we are only showing part of the table&lt;br /&gt;
	if targs['showteam'] then&lt;br /&gt;
		local top_pos = tonumber(targs['highest_pos']) or 1&lt;br /&gt;
		local bottom_pos = tonumber(targs['lowest_pos']) or 0&lt;br /&gt;
		local N = top_pos - 1&lt;br /&gt;
		while targs['team'..N+1] ~= nil and (bottom_pos &amp;lt; top_pos or N &amp;lt; bottom_pos) do&lt;br /&gt;
			N = N + 1&lt;br /&gt;
			teams[targs['team'..N]] = 1&lt;br /&gt;
			if teams[targs['showteam']] then&lt;br /&gt;
				return warn,track&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Step 1: Generate a team and result list&lt;br /&gt;
	for k,v in pairs(targs) do&lt;br /&gt;
		if type(k) == 'string' then&lt;br /&gt;
			if k:find('^team%d%d*$') then&lt;br /&gt;
				teams[v] = 1&lt;br /&gt;
				targs[k] = ''&lt;br /&gt;
				if targs['name_' .. v] then&lt;br /&gt;
					-- Great!&lt;br /&gt;
					targs['name_' .. v] = ''&lt;br /&gt;
				else&lt;br /&gt;
					table.insert(missing_teams, v)&lt;br /&gt;
				end&lt;br /&gt;
				if targs['note_' .. v] then&lt;br /&gt;
					targs['note_' .. v] = ''&lt;br /&gt;
				end&lt;br /&gt;
				if targs['hth_' .. v] then&lt;br /&gt;
					local multiref = 1&lt;br /&gt;
					local hth_local_table = mw.text.split(targs['hth_' .. v], '%s*,%s*')&lt;br /&gt;
					if (#hth_local_table &amp;gt; 1) then&lt;br /&gt;
						for j, hth_loc in ipairs(hth_local_table) do&lt;br /&gt;
							multiref = multiref * (targs['hth_' .. hth_loc] and 1 or 0)&lt;br /&gt;
						end&lt;br /&gt;
					else&lt;br /&gt;
						multiref = 0&lt;br /&gt;
					end&lt;br /&gt;
					if multiref &amp;gt; 0 then&lt;br /&gt;
						for j, hth_loc in ipairs(hth_local_table) do&lt;br /&gt;
							targs['hth_' .. hth_loc] = ''&lt;br /&gt;
						end&lt;br /&gt;
					elseif targs['hth_' .. targs['hth_' .. v]] then&lt;br /&gt;
						targs['hth_' .. targs['hth_' .. v]] = ''&lt;br /&gt;
					end&lt;br /&gt;
					targs['hth_' .. v] = ''&lt;br /&gt;
				end&lt;br /&gt;
			elseif k:find('^result%d%d*$') or k:find('^.*_result%d%d*$') then&lt;br /&gt;
				local pre = mw.ustring.gsub(k, '^(.*)result%d%d*$', '%1')&lt;br /&gt;
				results[v] = 1&lt;br /&gt;
				targs[k] = ''&lt;br /&gt;
				if targs[pre .. 'col_' .. v] or targs[pre .. 'text_' .. v] or targs[pre .. 'note_res_' .. v] then&lt;br /&gt;
					-- Great!&lt;br /&gt;
					if targs[pre .. 'col_' .. v] then&lt;br /&gt;
						targs[pre .. 'col_' .. v] = ''&lt;br /&gt;
					end&lt;br /&gt;
					if targs[pre .. 'text_' .. v] then&lt;br /&gt;
						targs[pre .. 'text_' .. v] = ''&lt;br /&gt;
					end&lt;br /&gt;
					if targs[pre .. 'note_res_' .. v] then&lt;br /&gt;
						local multiref = 1&lt;br /&gt;
						local note_res_local_table = mw.text.split(targs[pre .. 'note_res_' .. v], '%s*,%s*')&lt;br /&gt;
						if (#note_res_local_table &amp;gt; 1) then&lt;br /&gt;
							for j, note_res_loc in ipairs(note_res_local_table) do&lt;br /&gt;
								multiref = multiref * (targs[pre .. 'note_res_' .. note_res_loc] and 1 or 0)&lt;br /&gt;
							end&lt;br /&gt;
						else&lt;br /&gt;
							multiref = 0&lt;br /&gt;
						end&lt;br /&gt;
						if multiref &amp;gt; 0 then&lt;br /&gt;
							for j, note_res_loc in ipairs(note_res_local_table) do&lt;br /&gt;
								targs[pre .. 'note_res_' .. note_res_loc] = ''&lt;br /&gt;
							end&lt;br /&gt;
						elseif targs[pre .. 'note_res_' .. targs[pre .. 'note_res_' ..  v]] then&lt;br /&gt;
							targs[pre .. 'note_res_' ..  targs[pre .. 'note_res_' ..  v]] = ''&lt;br /&gt;
						end&lt;br /&gt;
						targs[pre .. 'note_res_' .. v] = ''&lt;br /&gt;
					end&lt;br /&gt;
					if targs[pre .. 'res_col_header'] then&lt;br /&gt;
						targs[pre .. 'res_col_header'] = ''&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					table.insert(missing_results, v)&lt;br /&gt;
				end&lt;br /&gt;
			elseif k:find('^match[%d]*_.*_.*_note$') then&lt;br /&gt;
				local m = mw.ustring.gsub(k, '^(match[%d]*_.*_.*)_note$', '%1')&lt;br /&gt;
				targs[k] = ''&lt;br /&gt;
				if targs[m] then&lt;br /&gt;
					if targs['note_' .. v] then&lt;br /&gt;
						targs['note_' .. v] = ''&lt;br /&gt;
					end&lt;br /&gt;
					-- Great!&lt;br /&gt;
				else&lt;br /&gt;
					table.insert(orphaned_match_notes, m)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local possible_missing_winpoints = 0&lt;br /&gt;
	for k,v in pairs(targs) do&lt;br /&gt;
		if v and v~= '' then&lt;br /&gt;
			local found_arg = 0&lt;br /&gt;
			if type(k) == 'string' then&lt;br /&gt;
				if k:find('^adjust_points_') then&lt;br /&gt;
					local p = mw.ustring.gsub(k, '^adjust_points_', '')&lt;br /&gt;
					if (tonumber(v) or 0) ~= 0 then&lt;br /&gt;
						local pdiff = (tonumber(targs['win_' .. p] or 0) or 0) + tonumber(v)&lt;br /&gt;
						if pdiff == 0 then&lt;br /&gt;
							possible_missing_winpoints = possible_missing_winpoints + 1&lt;br /&gt;
						else&lt;br /&gt;
							possible_missing_winpoints = possible_missing_winpoints - 1&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and (good_args[k] or k:find('^split[%d][%d]*$')) then&lt;br /&gt;
					-- Great!&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and k == 'showteam' then&lt;br /&gt;
					-- Great!&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					if teams[v] ~= 1 then&lt;br /&gt;
						table.insert(missing_teams, v)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and (ignored_args[k] or k:find('^att_')) then&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					table.insert(ignored, k)&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and k:find('^[A-Za-z]*_.*$') then&lt;br /&gt;
					local p = mw.ustring.gsub(k, '^([A-Za-z]*)_.*$', '%1')&lt;br /&gt;
					if col_names[p] then&lt;br /&gt;
						-- Great!&lt;br /&gt;
						found_arg = 1&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and k:find('^[A-Za-z]*_[A-Za-z]*_.*$') then&lt;br /&gt;
					local p = mw.ustring.gsub(k, '^([A-Za-z]*_[A-Za-z]*)_.*$', '%1')&lt;br /&gt;
					if col_names[p] then&lt;br /&gt;
						-- Great!&lt;br /&gt;
						found_arg = 1&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				if found_arg == 0 and k:find('^match[%d]*_.*_.*$') then&lt;br /&gt;
					local t1 = mw.ustring.gsub(k, '^match[%d]*_(.*)_(.*)$', '%1')&lt;br /&gt;
					local t2 = mw.ustring.gsub(k, '^match[%d]*_(.*)_(.*)$', '%2')&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					if teams[t1] == nil or teams[t2] == nil then&lt;br /&gt;
						if teams[t1] == nil then&lt;br /&gt;
							table.insert(missing_teams, t1)&lt;br /&gt;
						end&lt;br /&gt;
						if teams[t2] == nil then&lt;br /&gt;
							table.insert(missing_teams, t2)&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and k:find('^result_.*_.*$') then&lt;br /&gt;
					local t1 = mw.ustring.gsub(k, '^result[%d]*_(.*)_(.*)$', '%1')&lt;br /&gt;
					local t2 = mw.ustring.gsub(k, '^result[%d]*_(.*)_(.*)$', '%2')&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					if teams[t1] == nil or teams[t2] == nil then&lt;br /&gt;
						if teams[t1] == nil then&lt;br /&gt;
							table.insert(missing_teams, t1)&lt;br /&gt;
						end&lt;br /&gt;
						if teams[t2] == nil then&lt;br /&gt;
							table.insert(missing_teams, t2)&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and (k:find('^name_') or k:find('^short_')) then&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					table.insert(orphaned_names, k)&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and (k:find('^note_') or k:find('^hth_')) then&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					if (k == 'hth_ABC' and v == 'H2H note') then&lt;br /&gt;
						table.insert(warn, '[[Category:Pages using sports table with ignored parameters|hth_ABC]]')&lt;br /&gt;
					elseif (k == 'note_ABC' and v == 'Team note') then&lt;br /&gt;
						table.insert(warn, '[[Category:Pages using sports table with ignored parameters|note_ABC]]')&lt;br /&gt;
					elseif (k == 'note_res_AAA' and v == 'Result note') then&lt;br /&gt;
						table.insert(warn, '[[Category:Pages using sports table with ignored parameters|note_res_AAA]]')&lt;br /&gt;
					else&lt;br /&gt;
						table.insert(orphaned_notes, k)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found_arg == 0 and (k:find('^col_') or k:find('^text_')) then&lt;br /&gt;
					found_arg = 1&lt;br /&gt;
					table.insert(orphaned_results, k)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if found_arg == 0 then&lt;br /&gt;
				if pargs[k] and pargs[k] ~= '' then&lt;br /&gt;
					if tonumber(k) then&lt;br /&gt;
						k = k .. ' = ' .. v&lt;br /&gt;
					end&lt;br /&gt;
					table.insert(possibly_ignored, k)&lt;br /&gt;
				else&lt;br /&gt;
					if tonumber(k) then&lt;br /&gt;
						k = k .. ' = ' .. v&lt;br /&gt;
					end&lt;br /&gt;
					table.insert(unknown, k)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local badchar = '[^A-Za-z0-9_%(%)%- ]'&lt;br /&gt;
	for k,v in ipairs(unknown) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with unknown parameters|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(missing_teams) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with missing teams|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(missing_results) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with missing results|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(orphaned_results) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with orphaned results|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(orphaned_names) do&lt;br /&gt;
		v = mw.ustring.gsub(v, '[^A-Za-z0-9_ ]', '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with orphaned names|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(orphaned_notes) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with orphaned notes|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(orphaned_match_notes) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with orphaned match notes|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(ignored) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(warn, '[[Category:Pages using sports table with ignored parameters|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	for k,v in ipairs(possibly_ignored) do&lt;br /&gt;
		v = mw.ustring.gsub(v, badchar, '?')&lt;br /&gt;
		if v == '' then v = ' ' end&lt;br /&gt;
		table.insert(track, '[[Category:Pages using sports table with possibly ignored parameters|' .. v .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if possible_missing_winpoints &amp;gt; 1 then&lt;br /&gt;
		table.insert(track, '[[Category:Pages using sports table with possible incorrect winpoints|' .. possible_missing_winpoints .. ']]')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return warn,track&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return a&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>