<?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%2FJts1882%2FCovid</id>
	<title>Module:Sandbox/Jts1882/Covid - 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%2FJts1882%2FCovid"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Jts1882/Covid&amp;action=history"/>
	<updated>2026-04-21T02:08:16Z</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/Jts1882/Covid&amp;diff=145647&amp;oldid=prev</id>
		<title>imported&gt;Legoktm: Replace Module:No globals with require( &quot;strict&quot; )</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Jts1882/Covid&amp;diff=145647&amp;oldid=prev"/>
		<updated>2022-10-23T21:08:58Z</updated>

		<summary type="html">&lt;p&gt;Replace &lt;a href=&quot;/research/Module:No_globals&quot; title=&quot;Module:No globals&quot;&gt;Module:No globals&lt;/a&gt; with require( &amp;quot;strict&amp;quot; )&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
local p = {}&lt;br /&gt;
local Date = require(&amp;#039;Module:Date&amp;#039;)._Date&lt;br /&gt;
local mm = require(&amp;#039;Module:Math&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local list = require(&amp;#039;Module:Sandbox/Jts1882/Covid/data&amp;#039;)&lt;br /&gt;
local list2 = {&lt;br /&gt;
				{ &amp;quot;Austria&amp;quot;, &amp;quot;Q86847911&amp;quot;, &amp;quot;Q40&amp;quot;},&lt;br /&gt;
				{ &amp;quot;Belgium&amp;quot;, &amp;quot;Q84446340&amp;quot;, &amp;quot;Q31&amp;quot;,}, &lt;br /&gt;
                { &amp;quot;Bahrain&amp;quot;, &amp;quot;Q87070999&amp;quot;, &amp;quot;Q398&amp;quot; },&lt;br /&gt;
                { &amp;quot;Bangladesh&amp;quot;, &amp;quot;Q87540454&amp;quot;, &amp;quot;Q902&amp;quot; },&lt;br /&gt;
                { &amp;quot;Czech Republic&amp;quot;, &amp;quot;Q86919406&amp;quot;, &amp;quot;Q213&amp;quot; },&lt;br /&gt;
			--	{ &amp;quot;Poland&amp;quot;, &amp;quot;Q87250695&amp;quot;, &amp;quot;Q36&amp;quot; },&lt;br /&gt;
			    { &amp;quot;Spain&amp;quot;, &amp;quot;Q84166704&amp;quot;, &amp;quot;Q29&amp;quot; },&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p.main = function(frame)&lt;br /&gt;
	local output = &amp;quot;{|\n&amp;quot;&lt;br /&gt;
	local getData = false&lt;br /&gt;
	local output = &amp;#039;{| class=&amp;quot;wikitable sortable&amp;quot; \n&amp;#039;&lt;br /&gt;
                .. &amp;quot;! Country !! Cases !! Deaths !! Population !! Cases/million pop !! Deaths/million pop &amp;quot;&lt;br /&gt;
	for k,v in pairs(list) do&lt;br /&gt;
		-- code for getting population data in blocks&lt;br /&gt;
		--if v[1] == &amp;quot;Afghanistan&amp;quot; then getData = true end -- start from country X&lt;br /&gt;
--		if v[1] == &amp;quot;Germany&amp;quot; then break end           -- end with country Y&lt;br /&gt;
		getData = true&lt;br /&gt;
		if getData then&lt;br /&gt;
			local qid = v[2] -- &amp;quot;Q84446340&amp;quot; -- Belgium&lt;br /&gt;
	    	&lt;br /&gt;
	    	--output = output .. v[1] .. &amp;quot;: &amp;quot; .. p.getWikidata(v) .. &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
	    	output = output   .. p.getWikidata(v) &lt;br /&gt;
	    	&lt;br /&gt;
	    	-- line to get population from wikidata in blocks&lt;br /&gt;
	    	--output = output .. &amp;#039;{ &amp;quot;&amp;#039; .. v[1] .. &amp;#039;&amp;quot;, &amp;quot;&amp;#039; .. v[2] .. &amp;#039;&amp;quot;, &amp;quot;&amp;#039; .. v[3] .. &amp;#039;&amp;quot;, &amp;#039; .. p.getWikidataPopulation(v[3]).. &amp;#039; },&amp;lt;br/&amp;gt;&amp;#039;&lt;br /&gt;
    	end&lt;br /&gt;
	end&lt;br /&gt;
		output = output .. &amp;quot;\n|}&amp;quot;&lt;br /&gt;
	return output	&lt;br /&gt;
end&lt;br /&gt;
p.getWikidata =function(v)&lt;br /&gt;
	&lt;br /&gt;
	local countryName = v[1]&lt;br /&gt;
	local covidQid    = v[2]&lt;br /&gt;
	local countryQid  = v[3]&lt;br /&gt;
	local population  = v[4]&lt;br /&gt;
	&lt;br /&gt;
    local value = &amp;quot;EMPTY&amp;quot;&lt;br /&gt;
    local item&lt;br /&gt;
&lt;br /&gt;
	local wd = {}&lt;br /&gt;
	local covidCases&lt;br /&gt;
	local covidDeaths&lt;br /&gt;
	local dateCases&lt;br /&gt;
	local dateDeaths&lt;br /&gt;
&lt;br /&gt;
if 1==1 then&lt;br /&gt;
	if covidQid and mw.wikibase.isValidEntityId( covidQid ) then -- valid id&lt;br /&gt;
    	&lt;br /&gt;
    	item = mw.wikibase.getEntity(covidQid)&lt;br /&gt;
        if not item then return &amp;quot;Covid Qid not found&amp;quot; end &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
    	local i= 1&lt;br /&gt;
    	-- get cases &lt;br /&gt;
    	while item:getBestStatements(&amp;#039;P1603&amp;#039;)[i]  do&lt;br /&gt;
    		local timeStamp &lt;br /&gt;
    	    local statements = item:getBestStatements(&amp;#039;P1603&amp;#039;)[i]&lt;br /&gt;
    	    covidCases = statements.mainsnak.datavalue.value.amount &lt;br /&gt;
    	    if statements.qualifiers and statements.qualifiers[&amp;#039;P585&amp;#039;] and statements.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;] then&lt;br /&gt;
	   	    	timeStamp = statements.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;] --point in time&lt;br /&gt;
    	    end&lt;br /&gt;
    	    --output = covidCases&lt;br /&gt;
    	    &lt;br /&gt;
    	    dateCases = &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    if timeStamp  then &lt;br /&gt;
    	    	dateCases = Date(timeStamp):text(&amp;quot;dmy&amp;quot;) or &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    end	&lt;br /&gt;
    	    i=i+1&lt;br /&gt;
    	end&lt;br /&gt;
        --output =  (covidCases or &amp;quot;n/a&amp;quot;) ..&amp;#039; (&amp;#039; .. (dateCases or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039; &lt;br /&gt;
    	&lt;br /&gt;
    	-- get deaths&lt;br /&gt;
    	i=1&lt;br /&gt;
    	while item:getBestStatements(&amp;#039;P1120&amp;#039;)[i]  do&lt;br /&gt;
    		local timeStamp &lt;br /&gt;
    	    local statements = item:getBestStatements(&amp;#039;P1120&amp;#039;)[i]&lt;br /&gt;
    	    covidDeaths = statements.mainsnak.datavalue.value.amount &lt;br /&gt;
    	    if statements.qualifiers and statements.qualifiers[&amp;#039;P585&amp;#039;] and statements.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;] then&lt;br /&gt;
	   	    	timeStamp = statements.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;] --point in time&lt;br /&gt;
    	    end&lt;br /&gt;
    	    &lt;br /&gt;
    	    &lt;br /&gt;
    	    if timeStamp  then &lt;br /&gt;
    	    	dateDeaths = Date(timeStamp):text(&amp;quot;dmy&amp;quot;) or &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    end&lt;br /&gt;
    	    i=i+1&lt;br /&gt;
    	end&lt;br /&gt;
     	--output = output .. &amp;quot; | &amp;quot; .. (covidDeaths or &amp;quot;n/a&amp;quot;) .. &amp;#039; (&amp;#039; .. (dateCases or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end	&lt;br /&gt;
if 1==2 then &lt;br /&gt;
    local statements -- don&amp;#039;t want a lot of large local objects&lt;br /&gt;
    if countryQid and mw.wikibase.isValidEntityId( countryQid ) then -- valid id&lt;br /&gt;
&lt;br /&gt;
    	--item = mw.wikibase.getEntity(countryQid)&lt;br /&gt;
        --if not item then return &amp;quot;Country Qid not found&amp;quot; end &lt;br /&gt;
&lt;br /&gt;
    	-- get population &lt;br /&gt;
    	local i=1&lt;br /&gt;
    	statements = nil&lt;br /&gt;
     	statements  = mw.wikibase.getBestStatements( countryQid, &amp;#039;P1082&amp;#039; )&lt;br /&gt;
    	i = 1 --#statements &lt;br /&gt;
    	&lt;br /&gt;
    	while statements[i]  do&lt;br /&gt;
    	--while item:getBestStatements(&amp;#039;P1082&amp;#039;)[i]  do&lt;br /&gt;
    		local timeStamp &lt;br /&gt;
    	    local statement = statements[i] --item:getBestStatements(&amp;#039;P1082&amp;#039;)[i]&lt;br /&gt;
    	    population = statement.mainsnak.datavalue.value.amount&lt;br /&gt;
    	    if statement.qualifiers and statement.qualifiers[&amp;#039;P585&amp;#039;] and statement.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;] then&lt;br /&gt;
	   	    	timeStamp = statement.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;] --point in time&lt;br /&gt;
    	    end&lt;br /&gt;
&lt;br /&gt;
    	    datePopulation = &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    if timeStamp  then &lt;br /&gt;
    	    	datePopulation = Date(timeStamp):text(&amp;quot;dmy&amp;quot;) or &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    end	&lt;br /&gt;
    	    i=i+1&lt;br /&gt;
    	end&lt;br /&gt;
    end    &lt;br /&gt;
end        &lt;br /&gt;
        &lt;br /&gt;
    --[[  &lt;br /&gt;
    local output = &amp;quot;Cases: &amp;quot;      .. (covidCases or &amp;quot;n/a&amp;quot;)  .. &amp;#039; (&amp;#039; .. (dateCases or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039; &lt;br /&gt;
              .. &amp;quot;. Deaths: &amp;quot;     .. (covidDeaths or &amp;quot;n/a&amp;quot;) .. &amp;#039; (&amp;#039; .. (dateDeaths or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039;&lt;br /&gt;
              .. &amp;quot;. Population: &amp;quot; .. (population or &amp;quot;n/a&amp;quot;)  -- .. &amp;#039; (&amp;#039; .. (datePopulation or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039; &lt;br /&gt;
    ]]&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    local output = &amp;#039;\n|-\n|&amp;#039; .. countryName &lt;br /&gt;
                .. &amp;#039;||&amp;#039; .. (covidCases or &amp;quot;n/a&amp;quot;)  .. &amp;#039; (&amp;#039; .. (dateCases or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039;&lt;br /&gt;
                .. &amp;#039;||&amp;#039; .. (covidDeaths or &amp;quot;n/a&amp;quot;) .. &amp;#039; (&amp;#039; .. (dateDeaths or &amp;quot;missing date&amp;quot;) .. &amp;#039;)&amp;#039;&lt;br /&gt;
                .. &amp;#039;||&amp;#039; .. (population or &amp;quot;n/a&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if covidCases == nil then covidCases = 0.001 end&lt;br /&gt;
    if covidDeaths == nil then covidDeaths = 0.001 end&lt;br /&gt;
    &lt;br /&gt;
    local output = output&lt;br /&gt;
                .. &amp;#039;||&amp;#039; .. mm._precision_format(covidCases/population*1000000 ,0)  &lt;br /&gt;
                .. &amp;#039;||&amp;#039; .. mm._precision_format(covidDeaths/population*1000000 ,0) &lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    return output or &amp;quot;no value found&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
end&lt;br /&gt;
p.getWikidataPopulation =function(countryQid)&lt;br /&gt;
&lt;br /&gt;
	local population&lt;br /&gt;
	local datePopulation&lt;br /&gt;
    local statements -- don&amp;#039;t want a lot of large local objects&lt;br /&gt;
    if countryQid and mw.wikibase.isValidEntityId( countryQid ) then -- valid id&lt;br /&gt;
&lt;br /&gt;
    	--item = mw.wikibase.getEntity(countryQid)&lt;br /&gt;
        --if not item then return &amp;quot;Country Qid not found&amp;quot; end &lt;br /&gt;
&lt;br /&gt;
    	-- get population &lt;br /&gt;
    	local i=1&lt;br /&gt;
    	statements = nil&lt;br /&gt;
     	statements  = mw.wikibase.getBestStatements( countryQid, &amp;#039;P1082&amp;#039; )&lt;br /&gt;
    	i = 1 --#statements &lt;br /&gt;
    	&lt;br /&gt;
    	while statements[i]  do&lt;br /&gt;
    	--while item:getBestStatements(&amp;#039;P1082&amp;#039;)[i]  do&lt;br /&gt;
    		local timeStamp &lt;br /&gt;
    	    local statement = statements[i] --item:getBestStatements(&amp;#039;P1082&amp;#039;)[i]&lt;br /&gt;
    	    population = statement.mainsnak.datavalue.value.amount&lt;br /&gt;
    	    if statement.qualifiers and statement.qualifiers[&amp;#039;P585&amp;#039;] and statement.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;] then&lt;br /&gt;
	   	    	timeStamp = statement.qualifiers[&amp;#039;P585&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;] --point in time&lt;br /&gt;
    	    end&lt;br /&gt;
&lt;br /&gt;
    	    datePopulation = &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    if timeStamp  then &lt;br /&gt;
    	    	datePopulation = Date(timeStamp):text(&amp;quot;dmy&amp;quot;) or &amp;quot;missing&amp;quot;&lt;br /&gt;
    	    end	&lt;br /&gt;
    	    i=i+1&lt;br /&gt;
    	end&lt;br /&gt;
    end    &lt;br /&gt;
    return (population or &amp;quot;n/a&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;Legoktm</name></author>
	</entry>
</feed>