Modulo:Indekso
Dokumentado por ĉi tiu modulo povas esti kreata ĉe Modulo:Indekso/dokumentado
local p = {}
function p.progreso(frame)
local index = mw.ext.proofreadPage.newIndex(mw.title.getCurrentTitle())
if index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROBLEMATIC) > 0 then
return "Problema[[Kategorio:Indeksoj - Problema]]"
end
if index.missingPages > 0 then
return "Ne kompleta[[Kategorio:Indeksoj - Ne kompleta]]"
end
if index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.NOT_PROOFREAD) > 0 then
return "Ne provlegita[[Kategorio:Indeksoj - Ne provlegita]]"
end
if index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROOFREAD) > 0 then
return "Provlegita[[Kategorio:Indeksoj - Provlegita]]"
end
if index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.VALIDATED)
+ index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.WITHOUT_TEXT) == index.pageCount
and index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.VALIDATED) > 0 then
return "Validigita[[Kategorio:Indeksoj - Validigita]]"
end
return "Nekonata progreso[[Kategorio:Indeksoj - Nekonata progreso]]"
end
function p.tabelo(frame)
local index = mw.ext.proofreadPage.newIndex(mw.title.getCurrentTitle())
local missing_pages = index.missingPages
local red_pages = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.NOT_PROOFREAD)
local problematic_pages = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROBLEMATIC)
local yellow_pages = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROOFREAD)
local green_pages = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.VALIDATED)
local grey_pages = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.WITHOUT_TEXT)
local total_pages = missing_pages + red_pages + problematic_pages + yellow_pages + green_pages
local page_count = index.pageCount
local procento = (red_pages + yellow_pages * 2 + green_pages * 3) * 100 / ((page_count - grey_pages) * 3)
local html = mw.html.create("table")
html:wikitext(mw.ustring.format("<tr><td>Kreotaj paĝoj</td><td>%i</td><td>%.2f%%</td></tr>", missing_pages, missing_pages/total_pages*100))
html:wikitext(mw.ustring.format("<tr><td>Ne provlegitaj paĝoj</td><td>%i</td><td>%.2f%%</td></tr>", red_pages, red_pages/total_pages*100))
html:wikitext(mw.ustring.format("<tr><td>Problemaj paĝoj</td><td>%i</td><td>%.2f%%</td></tr>", problematic_pages, problematic_pages/total_pages*100))
html:wikitext(mw.ustring.format("<tr><td>Provlegitaj paĝoj</td><td>%i</td><td>%.2f%%</td></tr>", yellow_pages, yellow_pages/total_pages*100))
html:wikitext(mw.ustring.format("<tr><td>Validigitaj paĝoj</td><td>%i</td><td>%.2f%%</td></tr>", green_pages, green_pages/total_pages*100))
html:wikitext(mw.ustring.format("<tr><td>Sentekstaj paĝoj</td><td>%i</td><td>-</td></tr>", grey_pages))
html:wikitext(mw.ustring.format("<tr><td>Totalo</td><td>%i</td><td>-</td></tr>", page_count))
html:wikitext(mw.ustring.format("<tr><td>Kompleta procento</td><td>-</td><td>%.2f%%</td></tr>", procento))
local procenta_deko = math.floor(procento / 10)
if procenta_deko == 10 then
html:wikitext("[[Kategorio:Progresa procento egalas 100]]")
elseif procenta_deko >= 0 and procenta_deko < 10 then
html:wikitext(mw.ustring.format("[[Kategorio:Progresa procento inter %d kaj %d|%f]]", procenta_deko * 10, (procenta_deko + 1) * 10, procento - procenta_deko * 10))
end
return tostring(html)
end
return p