Modulo:Collegamenti esterni: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Parametro per eventuali esclusioni. Solo categorie per link numerosi. Migliorie ai link multipli.
+parametri per filtri in positivo
Riga 82:
end
return mWikidata._propertyHasEntity(prop, args)
end
 
-- esclusioniConverte ricevuteun parametro ricevuto come 'Xxx, yyy' e memorizzate comein { 'Xxx'=true, 'Yyy'=true }
local function ParametroElenco(param)
local chiavi = {}
local argescludivalori = args.escludiparam and mw.text.split(args.escludiparam, ',')
if argescludivalori then
for _, str in ipairs(argescludivalori) do
self.escludichiavi[mw.getContentLanguage():ucfirst(mw.text.trim(str))] = true
end
end
return chiavi
end
 
Riga 249 ⟶ 261:
self.catColon = ''
self.from = args.from
self.escludi = ParametroElenco(args.escludi)
-- esclusioni ricevute come 'Xxx, yyy' e memorizzate come { 'Xxx'=true, 'Yyy'=true }
self.escludisoloprop = {}ParametroElenco(args.prop)
self.sologruppi = ParametroElenco(args.gruppo)
local argescludi = args.escludi and mw.text.split(args.escludi, ',')
self.solomedium = ParametroElenco(args.medium)
if argescludi then
for _, str in ipairs(argescludi) do
self.escludi[mw.getContentLanguage():ucfirst(mw.text.trim(str))] = true
end
end
-- la pagina dei test utilizza uno stub del modulo Wikidata
if mw.title.getCurrentTitle().prefixedText ==
Riga 277 ⟶ 285:
self.catColon = ':'
self.debug = true
end
 
-- Controlla se un elemento fa parte delle esclusioni richieste dall'utente
function LinksManager:_Escluso(elemento, inclusi)
return self.escludi[elemento] or (next(inclusi) and inclusi[elemento] ~= true)
end
 
Riga 290 ⟶ 303:
ret[groupName] = {}
-- controlla se è un gruppo escluso manualmente dall'utente
if self.escludi[:_Escluso(groupName], self.sologruppi) then
cfg[groupName] = {}
end
Riga 305 ⟶ 318:
end
-- controlla se è un sito escluso manualmente dall'utente
if self.escludi[:_Escluso(linkConf.pid], self.soloprop) or self.escludi[:_Escluso(mw.getContentLanguage():ucfirst(linkConf.medium or 'web')], self.solomedium) then
valido = false
end
Riga 332 ⟶ 345:
for i, claim in ipairs(claims) do
if claim.qualifiers then
local qualifierIds = {}ParametroElenco(linkConf.multi)
for _qualifierId, qualifierId_ in ipairspairs(qualifierIds) do
if linkConf.multi then
if claim.qualifiers[qualifierId] then
qualifierIds = mw.text.split(linkConf.multi:gsub('%s', ''), ',')
local formattedQualifier = mWikidata._formatQualifiers(claim, qualifierId, { nq = '1', formatting = 'raw' })
for _, qualifierId in ipairs(qualifierIds) do
if claim.qualifiers[qualifierId]formattedQualifier then
if not qualifier then qualifier = {} end
local formattedQualifier = mWikidata._formatQualifiers(claim, qualifierId, { nq = '1', formatting = 'raw' })
qualifier[i] = mw.wikibase.getLabel(formattedQualifier)
if formattedQualifier then
break
if not qualifier then qualifier = {} end
qualifier[i] = mw.wikibase.getLabel(formattedQualifier)
break
end
end
end
end
for _, v in ipairs(qualifierIds) do qualifierIds[v] = true end
local altriQualNoti = {P407 = true, P50 = true, P2093 = true, P1476 = true, P1810 = true, P742 = true, P577 = true, P478 = true, P304 = true, P813 = true}
for qualifierId in pairs(claim.qualifiers) do