<?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%3APHL_sports_team%2Ftesttable</id>
	<title>Module:PHL sports team/testtable - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3APHL_sports_team%2Ftesttable"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:PHL_sports_team/testtable&amp;action=history"/>
	<updated>2026-06-16T10:20:13Z</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:PHL_sports_team/testtable&amp;diff=478875&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:PHL_sports_team/testtable&amp;diff=478875&amp;oldid=prev"/>
		<updated>2021-07-16T05:15:14Z</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 yesno = require('Module:Yesno')&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local div = { 'short', 'men', 'women', 'boys', 'girls', 'name' }&lt;br /&gt;
local mod = 'PHL sports team'&lt;br /&gt;
&lt;br /&gt;
local function get_aliases(t, a, d, tname, showdiv)&lt;br /&gt;
	local ca, ia, ita = '', '', {}&lt;br /&gt;
	local a, d = a[t], d[t]&lt;br /&gt;
	&lt;br /&gt;
	if a then&lt;br /&gt;
		for k, aka in pairs(a) do ca = ca .. string.format('&amp;lt;br&amp;gt;(%s)', aka)	end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if d then&lt;br /&gt;
		table.sort(d, function (a, b) return a &amp;lt; b end)&lt;br /&gt;
		local param = showdiv and 'inst' or 'yr'&lt;br /&gt;
		local yr = {}&lt;br /&gt;
		for k, inst in pairs(d) do&lt;br /&gt;
			if type(k) == 'string' and k ~= 'dab' and k ~= 'link' then&lt;br /&gt;
				ia  = ia .. string.format('&amp;lt;br&amp;gt;• %s (%s)', inst, k)&lt;br /&gt;
				if tname then&lt;br /&gt;
					table.insert(ita, string.format(showdiv and '{{%s|%s|%s=%s}}' or '{{%s|%s|%s=%s}} (%s)',&lt;br /&gt;
						tname, t, param, showdiv and k or k:sub(1, 4), k:gsub(&amp;quot;thru&amp;quot;, &amp;quot;–&amp;quot;)))&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(ita, function (a, b) return a &amp;lt; b end)&lt;br /&gt;
	return { c = ca, i = ia, it = ita }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function table_row_all(frame, t, a, c)&lt;br /&gt;
	local res = mw.html.create('')&lt;br /&gt;
	&lt;br /&gt;
	local fname = frame:preprocess(string.format('{{#invoke:%s|name|%s|short}}&amp;lt;br&amp;gt;', mod, t))&lt;br /&gt;
	local frt = frame:preprocess(string.format('{{#invoke:%s|rt|%s|short}}&amp;lt;br&amp;gt;', mod, t))&lt;br /&gt;
	local fmain = frame:preprocess(string.format('{{#invoke:%s|main|%s|short}}&amp;lt;br&amp;gt;', mod, t))&lt;br /&gt;
	&lt;br /&gt;
	for i=3,6 do&lt;br /&gt;
		fmain = fmain .. frame:preprocess(string.format('{{#invoke:%s|main|%s|%s}}&amp;lt;br&amp;gt;', mod, t, i))&lt;br /&gt;
		frt = frt .. frame:preprocess(string.format('{{#invoke:%s|rt|%s|%s}}&amp;lt;br&amp;gt;', mod, t, i))&lt;br /&gt;
		fname = fname .. frame:preprocess(string.format('{{#invoke:%s|name|%s|%s}}&amp;lt;br&amp;gt;', mod, t, i))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	fname = fname .. frame:preprocess(string.format('{{#invoke:%s|name|%s|name=Custom Team Name}}&amp;lt;br&amp;gt;', mod, t))&lt;br /&gt;
	frt = frt .. frame:preprocess(string.format('{{#invoke:%s|rt|%s|name=Custom Team Name}}&amp;lt;br&amp;gt;', mod, t))&lt;br /&gt;
	fmain = fmain .. frame:preprocess(string.format('{{#invoke:%s|main|%s|name=Custom Team Name}}', mod, t))&lt;br /&gt;
	&lt;br /&gt;
	res:tag('td'):wikitext(t)&lt;br /&gt;
	res:tag('td'):attr('align', 'center'):wikitext(c[1] and c[1] .. a.c or '—')&lt;br /&gt;
	res:tag('td'):wikitext(frame:preprocess(string.format('{{#invoke:%s|name|%s|2}}', mod, t)) .. a.i)&lt;br /&gt;
	res:tag('td'):wikitext(fmain or '—')&lt;br /&gt;
	res:tag('td'):attr('align', 'right'):wikitext(frt or '—')&lt;br /&gt;
	res:tag('td'):wikitext(fname or '—')&lt;br /&gt;
	return tostring(res)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function get_row_tname(root, row, align, text, tag, it)&lt;br /&gt;
	if yesno(tag or 'y') then&lt;br /&gt;
		row = root:tag('tr')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local code = '&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;' .. text .. '&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;'&lt;br /&gt;
	if it then&lt;br /&gt;
		for k, ita in pairs(it) do&lt;br /&gt;
			code = code .. '&amp;lt;br&amp;gt;or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;' .. ita .. '&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;'&lt;br /&gt;
			text = text .. '&amp;lt;br&amp;gt;or ' .. ita&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	row:tag('td'):attr('align', 'left'):wikitext(code)&lt;br /&gt;
	row:tag('td'):attr('align', align):wikitext(text)&lt;br /&gt;
	return row&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function table_row_tname(frame, t, a, c)&lt;br /&gt;
	local tname = frame.args['tname'] or 'UAAPteam'&lt;br /&gt;
	local align = frame.args['align'] or 'left'&lt;br /&gt;
	local rdef = string.format('{{%s|%s}}', tname, t)&lt;br /&gt;
	local rwom = string.format('{{%s|%s|women}}', tname, t)&lt;br /&gt;
	local rjnr = string.format('{{%s|%s|junior}}', tname, t)&lt;br /&gt;
	local rgrl = string.format('{{%s|%s|girls}}', tname, t)&lt;br /&gt;
	local rins = string.format('{{%s|%s|inst}}', tname, t)&lt;br /&gt;
	local rsrt = string.format('{{%s|%s|short}}', tname, t)&lt;br /&gt;
	local rcst = string.format('{{%s|%s|name=Custom Team Name}}', tname, t)&lt;br /&gt;
	&lt;br /&gt;
	local root = mw.html.create('')&lt;br /&gt;
	local row = root:tag('tr')&lt;br /&gt;
	local showdiv = yesno(frame.args.div or 'y')&lt;br /&gt;
	&lt;br /&gt;
	row:tag('td'):css('border-bottom', '2px solid black'):cssText('style')&lt;br /&gt;
		:attr('rowspan',showdiv and 7 or 3):wikitext(t)&lt;br /&gt;
		&lt;br /&gt;
	if showdiv then&lt;br /&gt;
		row:tag('td'):css('border-bottom', '2px solid black'):cssText('style')&lt;br /&gt;
			:attr('rowspan',showdiv and 7 or 3):attr('align', 'center')&lt;br /&gt;
			:wikitext(c[1] and c[1] .. a.c  or '—')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	row = get_row_tname(root, row, align, rdef, 'n')&lt;br /&gt;
	if showdiv then&lt;br /&gt;
		row = get_row_tname(root, row, align, rwom)&lt;br /&gt;
		row = get_row_tname(root, row, align, rjnr)&lt;br /&gt;
		row = get_row_tname(root, row, align, rgrl)&lt;br /&gt;
		row = get_row_tname(root, row, align, rins, nil, a.it)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	row = get_row_tname(root, row, align, rsrt)&lt;br /&gt;
	row = get_row_tname(root, row, align, rcst, nil, not showdiv and a.it)&lt;br /&gt;
	row:css('border-bottom', '2px solid black'):cssText('style')&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._testtable(frame)&lt;br /&gt;
	-- build table&lt;br /&gt;
	local root = mw.html.create('table')&lt;br /&gt;
	local temp, alias = {}, {}&lt;br /&gt;
	&lt;br /&gt;
	root:addClass('wikitable sortable')&lt;br /&gt;
		:css('background', 'transparent')&lt;br /&gt;
		:css('font-size', '90%')&lt;br /&gt;
	&lt;br /&gt;
	local row = root:tag('tr')&lt;br /&gt;
	local tname = frame.args['tname']&lt;br /&gt;
	&lt;br /&gt;
	if (tname == nil) then&lt;br /&gt;
		root:css('line-height', '100%')&lt;br /&gt;
		row:tag('th'):attr('rowspan',2):wikitext('Team')&lt;br /&gt;
		row:tag('th'):attr('rowspan',2):wikitext('Code or&amp;lt;br&amp;gt;Alias/es')&lt;br /&gt;
		row:tag('th'):attr('rowspan',2):wikitext('School')&lt;br /&gt;
		row:tag('th'):wikitext('Left-sided icon')&lt;br /&gt;
		row:tag('th'):wikitext('Right-sided icon')&lt;br /&gt;
		row:tag('th'):wikitext('No icon')&lt;br /&gt;
		row = root:tag('tr')&lt;br /&gt;
		row:tag('th'):wikitext('(Function: \'\'main\'\')')&lt;br /&gt;
		row:tag('th'):wikitext('(Function: \'\'rt\'\')')&lt;br /&gt;
		row:tag('th'):wikitext('(Function: \'\'name\'\')')&lt;br /&gt;
	else&lt;br /&gt;
		row:tag('th'):wikitext('Team')&lt;br /&gt;
		row:tag('th'):wikitext('Code or&amp;lt;br&amp;gt;Alias/es')&lt;br /&gt;
		row:tag('th'):wikitext('Usage')&lt;br /&gt;
		row:tag('th'):wikitext('Output')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	root:cssText(style)&lt;br /&gt;
	&lt;br /&gt;
	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args&lt;br /&gt;
	local data_module = string.format('Module:%s/%s', mod, args['league'] or 'collegiate')&lt;br /&gt;
	local data = mw.loadData(data_module)&lt;br /&gt;
	&lt;br /&gt;
	for k, team in pairs(data) do&lt;br /&gt;
		if type(team) ~= 'string' then table.insert(temp, k)&lt;br /&gt;
		else&lt;br /&gt;
			if alias[team] == nil then alias[team] = {} end&lt;br /&gt;
			table.insert(alias[team], k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(temp)&lt;br /&gt;
	table.insert(temp, '{{{team1}}}')&lt;br /&gt;
	table.insert(temp, 'XYZ')&lt;br /&gt;
&lt;br /&gt;
	for k, team in pairs(temp) do&lt;br /&gt;
		local aliases = get_aliases(team, alias, data, tname, true)&lt;br /&gt;
		row = root:tag('tr')&lt;br /&gt;
		&lt;br /&gt;
		if tname then row:wikitext(table_row_tname(frame, team, aliases, data[team] or ''))&lt;br /&gt;
		else row:wikitext(table_row_all(frame, team, aliases, data[team] or '')) end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(frame)&lt;br /&gt;
	-- build table&lt;br /&gt;
	local root = mw.html.create('table')&lt;br /&gt;
	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args&lt;br /&gt;
	local tname = args['tname'] or 'PBA team'&lt;br /&gt;
	local league = args['league'] or 'PBA'&lt;br /&gt;
	local temp, alias = {}, {}&lt;br /&gt;
	&lt;br /&gt;
	local root = mw.html.create('table')&lt;br /&gt;
	root:addClass('wikitable sortable')&lt;br /&gt;
	:css('background', 'transparent')&lt;br /&gt;
	:css('font-size', '90%')&lt;br /&gt;
	&lt;br /&gt;
	local row = root:tag('tr')&lt;br /&gt;
	local data_module = string.format('Module:%s/%s', mod, league)&lt;br /&gt;
	local data = mw.loadData(data_module)&lt;br /&gt;
	&lt;br /&gt;
	for k, team in pairs(data) do&lt;br /&gt;
		if type(team) ~= 'string' then table.insert(temp, k)&lt;br /&gt;
		else&lt;br /&gt;
			if alias[team] == nil then alias[team] = {} end&lt;br /&gt;
			table.insert(alias[team], k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(temp)&lt;br /&gt;
	table.insert(temp, '{{{team1}}}')&lt;br /&gt;
	table.insert(temp, 'XYZ')&lt;br /&gt;
&lt;br /&gt;
	row:tag('th'):wikitext('Code or&amp;lt;br&amp;gt;Alias/es')&lt;br /&gt;
	row:tag('th'):wikitext('Usage')&lt;br /&gt;
	row:tag('th'):wikitext('Output')&lt;br /&gt;
&lt;br /&gt;
	for k, team in pairs(temp) do&lt;br /&gt;
		local aliases = get_aliases(team, alias, data, tname, yesno(args.div))&lt;br /&gt;
		row = root:tag('tr')&lt;br /&gt;
		row:wikitext(table_row_tname(frame, team, aliases, data[team] or ''))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.testtable(frame)&lt;br /&gt;
	frame.args['div'] = 'y'&lt;br /&gt;
	return frame:preprocess(p._testtable(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	frame.args['div'] = 'n'&lt;br /&gt;
	return frame:preprocess(p._main(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>