<?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%2FPremeditated%2FNobel</id>
	<title>Module:Sandbox/Premeditated/Nobel - 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%2FPremeditated%2FNobel"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Premeditated/Nobel&amp;action=history"/>
	<updated>2026-07-28T14:43:57Z</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/Premeditated/Nobel&amp;diff=146002&amp;oldid=prev</id>
		<title>imported&gt;Premeditated at 16:04, 5 January 2021</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Premeditated/Nobel&amp;diff=146002&amp;oldid=prev"/>
		<updated>2021-01-05T16:04:44Z</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 wd = require(&amp;#039;Module:Wd&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function comma_to_dots(x)&lt;br /&gt;
	if x then&lt;br /&gt;
		res, _ = string.gsub(x, &amp;quot;%,&amp;quot;, &amp;quot;.&amp;quot;)&lt;br /&gt;
		return tonumber(res) or x&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function find(f, l)&lt;br /&gt;
  for _, v in pairs(l) do&lt;br /&gt;
    if v == f then&lt;br /&gt;
      return true&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function get_unit(result)&lt;br /&gt;
	local allowed_lang = {&amp;quot;nb&amp;quot;, &amp;quot;nn&amp;quot;, &amp;quot;en&amp;quot;}&lt;br /&gt;
	local lang = {}&lt;br /&gt;
&lt;br /&gt;
	for index, type_unit in pairs(mw.wikibase.getBestStatements( result, &amp;#039;P5061&amp;#039; )) do&lt;br /&gt;
    	if find(type_unit[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;value&amp;quot;][&amp;quot;language&amp;quot;], allowed_lang) then&lt;br /&gt;
    		lang[type_unit[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;value&amp;quot;][&amp;quot;language&amp;quot;]] = type_unit[&amp;quot;mainsnak&amp;quot;][&amp;quot;datavalue&amp;quot;][&amp;quot;value&amp;quot;][&amp;quot;text&amp;quot;]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if lang[&amp;quot;nb&amp;quot;] then&lt;br /&gt;
    	return lang[&amp;quot;nb&amp;quot;]&lt;br /&gt;
	elseif lang[&amp;quot;nn&amp;quot;] then&lt;br /&gt;
    	return lang[&amp;quot;nn&amp;quot;]&lt;br /&gt;
	elseif lang[&amp;quot;en&amp;quot;] then&lt;br /&gt;
    	return lang[&amp;quot;en&amp;quot;]&lt;br /&gt;
	else&lt;br /&gt;
    	return mw.wikibase.getLabel( result )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function round(num, numDecimalPlaces)&lt;br /&gt;
  return tonumber(string.format(&amp;quot;%.&amp;quot; .. (numDecimalPlaces or 0) .. &amp;quot;f&amp;quot;, num))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function find_population_density(popu, area, item_p)&lt;br /&gt;
	local population_density = round(popu/area, 2)&lt;br /&gt;
	local type_SI&lt;br /&gt;
	if item_p then&lt;br /&gt;
		claims = mw.wikibase.getBestStatements( item_p, &amp;#039;P2046&amp;#039; )&lt;br /&gt;
		result = claims[1].mainsnak.datavalue.value.unit&lt;br /&gt;
		result = mw.ustring.sub(result, mw.ustring.find(result, &amp;quot;Q&amp;quot;), -1)&lt;br /&gt;
		type_SI = &amp;#039;[[&amp;#039; .. mw.wikibase.getSitelink( result ) .. &amp;#039;|&amp;#039; .. get_unit(result) .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		type_SI = &amp;quot;[[kvadratkilometer|km²]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	return mw.language.getContentLanguage():formatNum(population_density) .. &amp;quot; [[Innbygger|innb.]]/&amp;quot; .. type_SI&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function wd_match(item_p, pid, last_val)&lt;br /&gt;
	&lt;br /&gt;
	if wd._property{item_p, pid} ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if pid == &amp;quot;P2046&amp;quot; then&lt;br /&gt;
			return find_population_density(last_val, tonumber(wd._property{&amp;#039;raw&amp;#039;,&amp;#039;normal+&amp;#039;, item_p, &amp;#039;P2046&amp;#039;}), item_p)&lt;br /&gt;
		elseif pid == &amp;quot;P1082&amp;quot; then&lt;br /&gt;
			return find_population_density(tonumber(wd._property{&amp;#039;raw&amp;#039;,&amp;#039;normal+&amp;#039;, item_p, &amp;#039;P1082&amp;#039;}), last_val)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if wd._property{item_p,&amp;#039;P1082&amp;#039;} ~= &amp;quot;&amp;quot; and wd._property{item_p,&amp;#039;P2046&amp;#039;} ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return find_population_density(tonumber(wd._property{&amp;#039;raw&amp;#039;,&amp;#039;normal+&amp;#039;, item_p, &amp;#039;P1082&amp;#039;}), tonumber(wd._property{&amp;#039;raw&amp;#039;,&amp;#039;normal+&amp;#039;, item_p, &amp;#039;P2046&amp;#039;}), item_p)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local area = comma_to_dots(frame.args[1]) --P2046&lt;br /&gt;
	local population = comma_to_dots(frame.args[2]) --P1082&lt;br /&gt;
	local population_density = comma_to_dots(frame.args[3])&lt;br /&gt;
	local item_p = mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	local item_p = &amp;quot;Q55&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if population_density == &amp;quot;uten&amp;quot; then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if area == &amp;#039;&amp;#039; and population == &amp;#039;&amp;#039; and population_density == &amp;#039;&amp;#039; then&lt;br /&gt;
		return wd_match(item_p)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if population_density ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		if type(population_density) == &amp;quot;number&amp;quot; then&lt;br /&gt;
			return mw.language.getContentLanguage():formatNum(population_density) .. &amp;quot; [[Innbygger|innb.]]/[[kvadratkilometer|km²]]&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			return population_density .. &amp;quot; [[Innbygger|innb.]]/[[kvadratkilometer|km²]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if type(area) == &amp;quot;number&amp;quot; and type(population) == &amp;quot;number&amp;quot; then&lt;br /&gt;
		return find_population_density(population, area)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if type(area) == &amp;quot;number&amp;quot; and population == &amp;#039;&amp;#039; then&lt;br /&gt;
		return wd_match(item_p, &amp;#039;P1082&amp;#039;, area)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if type(population) == &amp;quot;number&amp;quot; and area == &amp;#039;&amp;#039; then&lt;br /&gt;
		return wd_match(item_p, &amp;#039;P2046&amp;#039;, population)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;quot;[[Kategori:Sider med feil for befolkningstetthet]]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Premeditated</name></author>
	</entry>
</feed>