Ugrás a tartalomhoz

Modul:Homokozó/Bean49/homokozó/Modul:FlaggedRevs

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Homokozó/Bean49/homokozó/Modul:FlaggedRevs[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

require 'Modul:No globals'
local graph = require 'Modul:Graph'
local p = {}

local function formatPercent(text)
	if not text then
		return ''
	end
	return tonumber((text:gsub(',', '.'))) / 100.0
end

function p.chart(frame)
	local x = {}
	local y1 = {}
	local y2 = {}
	local y3 = {}
	local i = -1
	local width = 240
	local height = 150
	for text in mw.title.new('Wikipédia:Járőrök üzenőfala/Statisztika'):getContent():gmatch('([^\n]+)') do
		if text:sub(1, 3) == ' |-' then i = 0
		elseif i > -1 and text:sub(1, 2) == ' |' then
			i = i + 1;
			if     i == 1 then table.insert(x , text:match('[%d%-]+', 4) or '')
			elseif i == 2 then table.insert(y1, text:match('%d+', 4) or '')
			elseif i == 4 then table.insert(y2, formatPercent(text:match('[%d,]+', 4)))
			elseif i == 7 then table.insert(y3, text:match('%d+', 4) or '')
			end
		else i = -1
		end
	end
	return frame:callParserFunction('#tag', 'graph',
		graph.chart { args = { width=width, height=height, xAxisTitle='Átlagos várakozási idő',
		interpolate='basis', x=table.concat(x, ','), y=table.concat(y1, ','),
		xType='date' } }) .. '\n' ..
	frame:callParserFunction('#tag', 'graph',
		graph.chart { args = { width=width, height=height, xAxisTitle='Ellenőrzött',
		interpolate='basis', x=table.concat(x, ','), y=table.concat(y2, ','),
		xType='date', yAxisFormat='%' } }) .. '\n' ..
	frame:callParserFunction('#tag', 'graph',
		graph.chart { args = { width=width, height=height, xAxisTitle='Ellenőrizendő',
		interpolate='basis', x=table.concat(x, ','), y=table.concat(y3, ','),
		xType='date' } }) .. '\n'
end

return p