Moduł:Sandbox/Draco flavus/Test between two words

Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Sandbox/Draco flavus/Test between two words/opis

local p = {}
function p.CountAdvances(frame)
	-- Podaje czysty tekst strony wywoływanej wycina fragment między dwoma słowami "kluczowymi"
	
	local quotepattern = '(['..("%^$().[]*+-?"):gsub("(.)", "%%%1")..'])'
	local start = (frame.args[2]):gsub(quotepattern, "%%%1")
	local finish = (frame.args[3]):gsub(quotepattern, "%%%1")
    local PageResultExcerpt = ""
    local ResultArray = {green=0, gold=0, red=0, silver=0}
    
    
    PageResultExcerpt = mw.title.new(frame.args[1]):getContent():gsub(".-" .. start,""):gsub(finish .. ".*","")
    
    
    for w in  string.gmatch(PageResultExcerpt, "Indeks:[^|]*") do
    	if (string.match(mw.title.new(w):getContent(), "Postęp=ukończony") ~= nil ) then ResultArray.green = ResultArray.green + 1 end
    	if (string.match(mw.title.new(w):getContent(), "Postęp=do uwierzytelnienia") ~= nil ) then ResultArray.gold = ResultArray.gold + 1 end
    	if (string.match(mw.title.new(w):getContent(), "Postęp=do skorygowania") ~= nil ) then ResultArray.red = ResultArray.red  + 1 end
    	if (string.match(mw.title.new(w):getContent(), "Postęp=do przepisania") ~= nil ) then ResultArray.silver = ResultArray.silver  + 1 end
    end

   
	
    return ResultArray[frame.args[4]:gsub(" ","")]
end
return p