<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FFrietjes</id>
	<title>Module:Sandbox/Frietjes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FFrietjes"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Frietjes&amp;action=history"/>
	<updated>2026-05-26T17:31:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Frietjes&amp;diff=145431&amp;oldid=prev</id>
		<title>imported&gt;Frietjes at 14:38, 18 May 2022</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Frietjes&amp;diff=145431&amp;oldid=prev"/>
		<updated>2022-05-18T14:38:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.extractcolor(frame)&lt;br /&gt;
	local str = frame.args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
	local color = mw.ustring.match(&amp;#039;;&amp;#039; .. str .. &amp;#039;;&amp;#039;, &amp;#039;.*;%s*([Cc][Oo][Ll][Oo][Rr]%s*:%s*.-)%s*;&amp;#039;)&lt;br /&gt;
	return color or &amp;#039;NO MATCH&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getBestStatement(item_id, property_id)&lt;br /&gt;
	if not(item_id) or not(mw.wikibase.isValidEntityId(item_id)) or not(mw.wikibase.entityExists(item_id)) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local statements = mw.wikibase.getBestStatements(item_id, property_id)&lt;br /&gt;
	if not statements or #statements == 0 then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local hasNoValue = ( statements[1].mainsnak and statements[1].mainsnak.snaktype == &amp;#039;novalue&amp;#039; )&lt;br /&gt;
	if hasNoValue then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return statements[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.hasOSM(frame)&lt;br /&gt;
	return getBestStatement(mw.wikibase.getEntityIdForCurrentPage(), &amp;#039;P402&amp;#039;) and &amp;#039;yes&amp;#039; or &amp;#039;no&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	local args = getArgs(frame, {parentFirst = true,&lt;br /&gt;
	valueFunc = function (key, val)&lt;br /&gt;
		if key == &amp;#039;text_IPS&amp;#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		if type(val) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			val = val:match(&amp;#039;^%s*(.-)%s*$&amp;#039;)&lt;br /&gt;
			if val == &amp;#039;&amp;#039; then&lt;br /&gt;
				return nil&lt;br /&gt;
			else&lt;br /&gt;
				return val&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	})&lt;br /&gt;
	local team_list = {}&lt;br /&gt;
	local ii = 1&lt;br /&gt;
	while args[&amp;#039;team&amp;#039;..ii] ~= nil do&lt;br /&gt;
		team_list[args[&amp;#039;team&amp;#039;..ii]] = ii&lt;br /&gt;
		ii = ii + 1&lt;br /&gt;
	end&lt;br /&gt;
	local max_team = ii - 1&lt;br /&gt;
	&lt;br /&gt;
	local first_team, last_team = 1, max_team&lt;br /&gt;
	if args[&amp;#039;showteam&amp;#039;] and team_list[args[&amp;#039;showteam&amp;#039;]] then&lt;br /&gt;
		first_team = team_list[args[&amp;#039;showteam&amp;#039;]] - 2&lt;br /&gt;
		last_team = first_team + 4&lt;br /&gt;
		if first_team &amp;lt; 1 then&lt;br /&gt;
			first_team = 1&lt;br /&gt;
			last_team = first_team + 4&lt;br /&gt;
		end&lt;br /&gt;
		if last_team &amp;gt; max_team then&lt;br /&gt;
			last_team = max_team&lt;br /&gt;
			first_team = max_team - 4&lt;br /&gt;
		end&lt;br /&gt;
		if first_team &amp;lt; 1 then first_team = 1 end&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local hasnotes = false&lt;br /&gt;
	&lt;br /&gt;
	local ii = first_team&lt;br /&gt;
	local res = &amp;#039;{| class=&amp;quot;wikitable&amp;quot;\n&amp;#039;&lt;br /&gt;
	res = res .. &amp;#039;! Pos. !! Team !! Result\n&amp;#039;&lt;br /&gt;
	while args[&amp;#039;team&amp;#039;..ii] ~= nil and (ii &amp;lt;= last_team) do&lt;br /&gt;
		res = res .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
		res = res .. &amp;#039;| &amp;#039; .. ii .. &amp;#039;\n&amp;#039;&lt;br /&gt;
		res = res .. &amp;#039;| &amp;#039; .. (args[&amp;#039;name_&amp;#039;..args[&amp;#039;team&amp;#039; .. ii]] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
		local text_result = args[&amp;#039;result&amp;#039;..ii] and args[&amp;#039;text_&amp;#039;..args[&amp;#039;result&amp;#039;..ii]] or &amp;#039;&amp;#039;&lt;br /&gt;
		local style_text = &amp;#039;&amp;#039;&lt;br /&gt;
		if text_result:match(&amp;#039;fbmulticompefn&amp;#039;) then&lt;br /&gt;
			hasnotes = true&lt;br /&gt;
			style_text = style_text .. &amp;#039;padding:0;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		style_text = style_text .. (args[&amp;#039;result&amp;#039;..ii] and (&amp;#039;background:&amp;#039; .. args[&amp;#039;col_&amp;#039;..args[&amp;#039;result&amp;#039;..ii]]) or &amp;#039;&amp;#039;)&lt;br /&gt;
		res = res .. &amp;#039;| style=&amp;quot;&amp;#039; .. style_text .. &amp;#039;&amp;quot; | &amp;#039; .. text_result .. &amp;#039;\n&amp;#039;&lt;br /&gt;
		ii = ii + 1&lt;br /&gt;
	end&lt;br /&gt;
	res = res .. &amp;#039;|}&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if hasnotes == true then&lt;br /&gt;
		res = res .. &amp;#039;&amp;lt;b&amp;gt;Table notes:&amp;lt;/b&amp;gt;&amp;#039; .. frame:expandTemplate{ title = &amp;#039;notelist&amp;#039;}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Generate tracking&lt;br /&gt;
	if not args[&amp;#039;notracking&amp;#039;] then&lt;br /&gt;
		-- Step 1: Generate a team and result list&lt;br /&gt;
		for k,v in pairs(args) do&lt;br /&gt;
			-- nothing&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Frietjes</name></author>
	</entry>
</feed>