Moduł:WTTSumator

Wikimedia Polska, polski partner Fundacji Wikimedia.
Przejdź do nawigacji Przejdź do wyszukiwania

Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:WTTSumator/opis

function pl_num( n )
	return string.gsub( string.format('%7.2f', n), '[\.]', ',', 1 ) .. ''
end

local p = {}
function p.suma( frame )
	local strona = mw.title.makeTitle( '', 'Wikiprojekt Tygodnie Tematyczne' )
	local kod = strona:getContent()
	local wiersz, nazwa, w1, w2, sw
	local s = 0
	local wynik = ''
	kod = string.gsub( kod, '.*== *Budżet *==', '' ) .. ''
	kod = string.gsub( kod, '====.*Nagrody specjalne.*', '' ) .. ''
	for wiersz in string.gmatch( kod, '\n\|%-[^\n]*\n\|[^\n]*\n\|[^\n]*\n\|[^\n]*\n\|[^\n]*\n\|[^\n]*\n\|[^\n]*\n' ) do
--		mw.log( wiersz )
		nazwa = string.gsub( wiersz, '\n\|%-[^\n]*\n\| *', '' ) .. ''
		w1 = string.gsub( nazwa, '^[^\n]*\n\|[^\n]*\n\| *', '' ) .. ''
		w2 = string.gsub( w1, '^[^\n]*\n\|[^\n]*\n\| *', '' ) .. ''
		sw = string.gsub( w2, '^[^\n]*\n\| *', '' ) .. ''
		nazwa = string.gsub( nazwa, ' *\n.*', '' ) .. ''
		w1 = string.gsub( w1, ' *\n.*', '' ) .. ''
		w1 = string.gsub( w1, ',', '.' ) .. ''
		w1 = tonumber( w1 )
		if w1 == nil then
			w1 = 0
		end
		w2 = string.gsub( w2, ' *\n.*', '' ) .. ''
		w2 = string.gsub( w2, ',', '.' ) .. ''
		w2 = tonumber( w2 )
		if w2 == nil then
			w2 = 0
		end
		sw = string.gsub( sw, ' *\n.*', '' ) .. ''
		sw = string.gsub( sw, "%'", '' ) .. ''
		sw = string.gsub( sw, ",", '.' ) .. ''
		sw = tonumber( sw )
		if sw == nil then
			sw = 0
		end
--		mw.log( nazwa )
--		mw.log( w1 )
--		mw.log( w2 )
--		mw.log( sw )
		if w1 + w2 ~= sw then
			wynik = wynik .. 'Błąd sumowania w tyg. ' .. nazwa .. '<br>'
		end
		s = s + sw
	end
	wynik = wynik .. pl_num( s )
    return wynik
end
return p