Moduł:WTTSumator
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