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