Modulo:Collegamenti esterni/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
il controllo dei vincoli deve avvenire solo dopo aver verificato che il valore esista
correggo e carico sandbox
Riga 6:
 
local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Sandbox/Horcrux/Wikidata')
local mCitazione = require('Modulo:Citazione')
local mEditAtWikidata = require('Modulo:Modifica su Wikidata')
-- Permette di definire l'ordine di visualizzazione dei vari gruppi
local orderedGroupNames = {
-- 'sandbox/Test',
'Ufficiali', 'Enciclopedie', 'Biografie',
'Letteratura', 'Politica', 'Religione', 'Architettura',
'Astronomia', 'Biologia', 'Editoria', 'Geografia',
'Linguistica', 'MAB', 'Software', 'Calcio', 'Sci',
'Sport', 'Videogiochi', 'Musica', 'Fumetti', 'Cinema'
}
-- Soglie di attenzione sul numero elevato di collegamenti, per categorie di controllo
Riga 83:
-- @return {boolean} ricorsione onerosa o meno
local function checkEntity(prop, entityIds, from)
local args = { from = from, recursion = '15'8 }
for _, entityId in ipairs(entityIds) do
table.insert(args, entityId)
Riga 316:
end
for _, linkConf in ipairs(cfg[groupName]) do -- Per ogni sito configurato
local claims, valido
-- se il sito non è escluso manualmente dall'utente, avviene la lettura da Wikidata
if not (self:_Escluso(linkConf.pid, self.soloprop) or self:_Escluso(mw.getContentLanguage():ucfirst(linkConf.medium or 'web'), self.solomedium)) then
claims = mWikidata._getClaims(linkConf.pid, { from = self.from, snaktype = 'value' })
end
local valido = true
-- controlla se non è un sito escluso manualmente dall'utente
if claims and #claims > 0 then
Line 327 ⟶ 326:
if type(linkConf.vincolo) == 'table' then
local excessiveLoad
local catNNvincoli, Ncat = 0, #self.categories
for i_ = 2,in #ipairs(linkConf.vincolo, 2) do --Nvincoli Per= ogniNvincoli coppia+ 'proprietà',1 {valori}end
for i = 2, Nvincoli, 2 do -- Per ogni coppia 'proprietà', {valori}
valido, excessiveLoad = checkEntity(linkConf.vincolo[i - 1], linkConf.vincolo[i], self.from)
if excessiveLoad and catNNcat == #self.categories then
table.insert(self.categories, string.format('[[%sCategoria:%s]]', self.catColon, catExcessiveLoad))
end
if valido then break end
end
else
local valido = true
end
end