<?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%2FRexxS%2FRanking</id>
	<title>Module:Sandbox/RexxS/Ranking - 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%2FRexxS%2FRanking"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/RexxS/Ranking&amp;action=history"/>
	<updated>2026-05-24T03:23:31Z</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/RexxS/Ranking&amp;diff=146097&amp;oldid=prev</id>
		<title>imported&gt;RexxS: only consider rankings that are from FIFA (Q180825)</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/RexxS/Ranking&amp;diff=146097&amp;oldid=prev"/>
		<updated>2017-11-18T15:45:15Z</updated>

		<summary type="html">&lt;p&gt;only consider rankings that are from FIFA (Q180825)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Module to return most recent ranking (P1352) from FIFA (Q180825)&lt;br /&gt;
-- making use of point in time (P585)&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local i18n =&lt;br /&gt;
{&lt;br /&gt;
	[&amp;quot;errors&amp;quot;] =&lt;br /&gt;
	{&lt;br /&gt;
		[&amp;quot;entity-not-found&amp;quot;] = &amp;quot;Wikidata entity not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;claims-not-found&amp;quot;] = &amp;quot;Wikidata entity has no claims.&amp;quot;,&lt;br /&gt;
		[&amp;quot;property-not-found&amp;quot;] = &amp;quot;Property not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-claim-type&amp;quot;] = &amp;quot;Unknown claim type.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-entity-type&amp;quot;] = &amp;quot;Unknown entity type.&amp;quot;,&lt;br /&gt;
		[&amp;quot;qualifier-not-found&amp;quot;] = &amp;quot;Qualifier not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;site-not-found&amp;quot;] = &amp;quot;Wikimedia project not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-datetime-format&amp;quot;] = &amp;quot;Unknown datetime format.&amp;quot;,&lt;br /&gt;
		[&amp;quot;ranks-not-found&amp;quot;] = &amp;quot;No ranks found.&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;months&amp;quot;] =&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;January&amp;quot;, &amp;quot;February&amp;quot;, &amp;quot;March&amp;quot;, &amp;quot;April&amp;quot;, &amp;quot;May&amp;quot;, &amp;quot;June&amp;quot;, &amp;quot;July&amp;quot;, &amp;quot;August&amp;quot;, &amp;quot;September&amp;quot;, &amp;quot;October&amp;quot;, &amp;quot;November&amp;quot;, &amp;quot;December&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p.getRanking = function(frame)&lt;br /&gt;
	-- allow us to see all values if debugging - set dbg=true as parameter&lt;br /&gt;
	dbug = frame.args.dbg or false&lt;br /&gt;
	-- see if a qid was supplied for arbitrary access; make empty string into nil&lt;br /&gt;
	local qid = mw.text.trim(frame.args.qid or &amp;quot;&amp;quot;)&lt;br /&gt;
	if qid and (#qid == 0) then qid = nil end&lt;br /&gt;
	&lt;br /&gt;
	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
	if not entity then return i18n.errors[&amp;quot;entity-not-found&amp;quot;] end&lt;br /&gt;
	if not entity.claims then return i18n.errors[&amp;quot;claims-not-found&amp;quot;] end&lt;br /&gt;
	local props = entity.claims[&amp;#039;P1352&amp;#039;]&lt;br /&gt;
	if not props then return i18n.errors[&amp;quot;property-not-found&amp;quot;] end&lt;br /&gt;
	&lt;br /&gt;
	local rank = {}&lt;br /&gt;
	local timestamp = {}&lt;br /&gt;
	for k, v in pairs(props) do&lt;br /&gt;
		if v.qualifiers and v.qualifiers[&amp;quot;P585&amp;quot;] and v.qualifiers[&amp;quot;P459&amp;quot;] then&lt;br /&gt;
			if v.qualifiers[&amp;quot;P459&amp;quot;][1].datavalue.value.id == &amp;quot;Q180825&amp;quot; then&lt;br /&gt;
				rank[#rank + 1] = v.mainsnak.datavalue.value.amount&lt;br /&gt;
				timestamp[#rank] = v.qualifiers[&amp;quot;P585&amp;quot;][1].datavalue.value.time&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if rank then&lt;br /&gt;
		local ts = &amp;quot;&amp;quot;&lt;br /&gt;
		local imax = 0&lt;br /&gt;
		for i, v in ipairs(timestamp) do&lt;br /&gt;
			if v &amp;gt; ts then&lt;br /&gt;
				ts = v&lt;br /&gt;
				imax = i&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local lastdate = tonumber(ts:sub(10, 11)) .. &amp;quot; &amp;quot; .. i18n.months[tonumber(ts:sub(7, 8))] .. &amp;quot; &amp;quot; .. tonumber(ts:sub(2, 5))&lt;br /&gt;
		local lastrank = tonumber(rank[imax])&lt;br /&gt;
		&lt;br /&gt;
		if dbug then&lt;br /&gt;
			return table.concat(rank, &amp;quot;, &amp;quot;) .. &amp;quot;&amp;lt;br&amp;gt;&amp;quot; .. table.concat(timestamp, &amp;quot;, &amp;quot;) .. &amp;quot;&amp;lt;br&amp;gt;Latest = &amp;quot; .. lastdate .. &amp;quot; rank is &amp;quot; .. lastrank&lt;br /&gt;
		else&lt;br /&gt;
			return lastrank .. &amp;quot; (&amp;quot; .. lastdate .. &amp;quot;)&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return i18n.errors[&amp;quot;ranks-not-found&amp;quot;]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;RexxS</name></author>
	</entry>
</feed>