Module:Index
La documentation pour ce module peut être créée à Module:Index/Documentation
local m_psp = require('Module:ProofreadStats/Data')
local p = {}
function p.index_progression(frame)
local args = frame:getParent().args
local book = args['livre']
local title = args['titre']
local note = args['note'] or ''
local authors = args['auteurs'] or ''
local index = m_psp['Livre:' .. book]
local nb_no_text, nb_proofread, nb_validated, nb_total
-- if index then
-- nb_no_text = index[0]
-- nb_proofread = index[3]
-- nb_validated = index[4]
-- nb_total = index[0] + index[1] + index[2] + index[3] + index[4] + index['m']
-- else
index = mw.ext.proofreadPage.newIndex(book)
nb_no_text = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.WITHOUT_TEXT)
nb_proofread = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROOFREAD)
nb_validated = index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.VALIDATED)
nb_total = index.pageCount
-- end
local psp = math.floor((nb_no_text+nb_proofread+nb_validated) * 100 / nb_total)
local code = '* [ <abbr style="width: 3.5em;display: inline-block;text-align:right;padding:0 0.2em; font-size:80%" title="' .. nb_total
code = code .. ' pages au total dans le fac-similé">'
code = code .. nb_total.. ' p.</abbr> |'
code = code .. ' <abbr style="width: 3.5em;display: inline-block;text-align:right;padding:0 0.2em; font-size:80%" title="'
code = code .. (nb_proofread + nb_validated) .. ' pages corrigées ou validées"'
code = code .. ' class="prp-pagequality-3 quality3">' .. psp .. ' %</abbr> '
code = code .. '| <abbr style="width: 3.5em;display: inline-block;text-align:right;padding:0 0.2em; font-size:80%" title="'
code = code .. nb_validated .. ' pages validées" class="prp-pagequality-4 quality4">'
code = code .. (math.floor((nb_no_text+nb_validated) * 100 / nb_total))
code = code .. ' %</abbr> ] '
code = code .. '<span style="display:inline-block; vertical-align: top; max-width: 30em">' .. "'''''[[Livre:" .. book .. '|' .. title .. "]]'''''"
if note ~= '' then
code = code .. ' <span class="colore" style="font-size: 80%; line-height: normal; color: #008000;">(' .. note .. ')</span> '
end
if authors ~= '' then
code = code .. '<br>de ' .. authors
end
code = code .. '</span>'
return code
end
function p.tome_avancement(frame)
local args = frame:getParent().args
local title = args["1"]
local label = args["2"]
local tooltip = args["3"]
local style = ''
if not title or title == '' then
return '<span style="color:red; font-weight:bold;">Index non renseigné.</span>'
end
if not label or label == '' then
return '<span style="color:red; font-weight:bold;">Libellé non renseigné.</span>'
end
if mw.ustring.len(label) == 1 then
label = ' ' .. label .. ' '
else
label = ' ' .. label .. ' '
end
local index = mw.ext.proofreadPage.newIndex(mw.ustring.gsub(title, 'Livre:', ''))
if index.missingPages > 0 then
style = 'border-color: #FFA0A0; border-style: dotted; border-width: thin; border-radius: 2px; padding:0; white-space:nowrap;'
tooltip = tooltip or 'Avancement À créer — Ce tome/volume comprend des pages à créer ou plus avancées.'
elseif index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROBLEMATIC) > 0 then
style = 'background-color: #B0B0FF; border-radius: 5px; white-space:nowrap;'
tooltip = tooltip or 'Ce tome/volume comprend des pages à problème ou plus avancées.'
elseif index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.NOT_PROOFREAD) > 0 then
style = 'background-color: #FFA0A0; border-radius: 5px; white-space:nowrap;'
tooltip = tooltip or 'Avancement À corriger — ce tome/volume comprend des pages à corriger ou plus avancées.'
elseif index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.PROOFREAD) > 0 then
style = 'background-color: #FFE867; border-radius: 5px; white-space:nowrap;'
tooltip = tooltip or 'Avancement À valider — ce tome/volume comprend des pages à valider ou plus avancées.'
elseif index:pagesWithLevel(mw.ext.proofreadPage.QualityLevel.VALIDATED) > 0 then
style = 'background-color: #90FF90; border-radius: 5px; white-space:nowrap;'
tooltip = tooltip or 'Avancement Terminé — ce tome/volume est complètement validé.'
else
return '<span style="color:red; font-weight:bold;">Impossible de calculer l’avancement.</span>'
end
return '[[' .. title .. '|<span style="' .. style .. '" title="' .. tooltip .. '">' .. label .. '</span>]]'
end
return p