Modulo:Sandbox/Sakretsu: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+
+
Riga 1:
local p = {}
 
function set_error(msg)
return string.format('<span class="error">%s</span>', msg)
end
 
function p.main(frame)
local contentpage = mw.title.new('Wikipedia:Amministratori/Sistema_di_votoSistema di voto/Quorum'):getContent()
local content = mw.title.new(page):getContent()
local quorum = 0
local pageselections, userscandidates, hash = {}, {}, {}
for pageelection in string.gmatch(content, '%[%[(W%a+:Amministratori/Elezioni/.-)[|%]]') do
table.insert(pageselections, pageelection)
local usercandidate = pageelection:match('Elezioni/([^/]+)')
table.insert(userscandidates, string.format('[[User:%s|%s]]', usercandidate, usercandidate))
end
if #pageselections ~= 8 then
return errorset_error('Non è stato trovato un elenco di 8 elezioni nella pagina ' .. page)
end
for _, pageelection in ipairs(pageselections) do
content = mw.title.new(pageelection):getContent()
if not content then
return errorset_error('Non è stata trovata la pagina della seguente elezione: ' .. pageelection)
end
if hash[pageelection] then
return errorset_error('È stata elencata più volte la seguente elezione: ' .. pageelection)
end
hash[pageelection] = true
content = content:gsub('(\n==+ *[^\n]- *==+)', '\r%1')
for heading, section in string.gmatch(content, '\n==+ *([^\n]-) *==+(.-)\r') do
Riga 30 ⟶ 35:
end
end
userscandidates = mw.text.listToText(userscandidates, ', ', ' e ')
quorum = math.floor(quorum / 12)
return string.format('Pertanto il quorum per la prossima votazione, calcolato in base al numero di favorevoli e contrari nelle votazioni relative a %s, è pari a <b>%s</b>.', userscandidates, quorum)
end