Difference between revisions of "Module:NUMBEROF/meta"

From blackwiki
Jump to navigation Jump to search
blackwiki>GreenC
(not good)
blackwiki>GreenC
(restore to last by John)
Line 12: Line 12:
 
local nrActive = {}
 
local nrActive = {}
 
local nrClosed = {}
 
local nrClosed = {}
local nrStatus = {}
 
 
for _, v in ipairs(statistics.data) do
 
for _, v in ipairs(statistics.data) do
 
local project = v[iProject]
 
local project = v[iProject]
 
if v[iStatus] == 'active' then
 
if v[iStatus] == 'active' then
 
nrActive[project] = (nrActive[project] or 0) + 1
 
nrActive[project] = (nrActive[project] or 0) + 1
nrStatus[project] = 'active'
 
 
else
 
else
 
nrClosed[project] = (nrClosed[project] or 0) + 1
 
nrClosed[project] = (nrClosed[project] or 0) + 1
nrStatus[project] = 'closed'
 
 
end
 
end
 
end
 
end
Line 26: Line 23:
 
nrActive = nrActive,
 
nrActive = nrActive,
 
nrClosed = nrClosed,
 
nrClosed = nrClosed,
nrStatus = nrStatus,
 
 
}
 
}
 
end
 
end
  
 
return makeData()
 
return makeData()

Revision as of 03:59, 11 September 2020

Documentation for this module may be created at Module:NUMBEROF/meta/doc

-- Return a table of statistics to be accessed once per page using mw.loadData.
-- The table contains active and closed counts for each project.

local function makeData()
	local statistics = mw.ext.data.get('Wikipedia statistics/meta.tab') -- https://commons.wikimedia.org/wiki/Data:Wikipedia_statistics/meta.tab
	local map = {}
	for i, v in ipairs(statistics.schema.fields) do
		map[v.name] = i  -- name is lowercase
	end
	local iProject = map.project
	local iStatus = map.status
	local nrActive = {}
	local nrClosed = {}
	for _, v in ipairs(statistics.data) do
		local project = v[iProject]
		if v[iStatus] == 'active' then
			nrActive[project] = (nrActive[project] or 0) + 1
		else
			nrClosed[project] = (nrClosed[project] or 0) + 1
		end
	end
	return {
		nrActive = nrActive,
		nrClosed = nrClosed,
	}
end

return makeData()