Modulo:Interprogetto/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m +table |
genera un collegamento per ogni wikisource nella lingua originale di scrittura |
||
Riga 83:
-- ============================================================================================================
local function sort_by_ordine(t1, t2)
if t1.ordine < t2.ordine or t1.ordine == t2.ordine and t1.lingua < t2.lingua then
return true
end
Riga 137:
end
function Wikidata_entity:
local interwiki = { project }
if claim.mainsnak.datavalue.type == 'wikibase-entityid' then local entityId = 'Q' ..
if entityId ~= 'Q652' then
local claims = mw.wikibase.getBestStatements(entityId, 'P424') local language_code = claims[1] and claims[1].mainsnak.datavalue.value
if language_code then
self.lingua[language_code .. 'wikisource'] = language_code
end▼
end▼
end
end
end
return
end
Riga 159 ⟶ 165:
-- Carica i collegamenti di un progetto solo se non disambigua o tipo di progetto abilitato in disambigua
if not self.disambigua or cfg.parameters[key_progetto].abilita_in_disambigua then
local sitelink = self.entity:getSitelink(interwiki)▼
-- Dà sempre precedenza al sitelink se è una categoria▼
self.lingua[key_progetto] = self:getLanguage(progetto.property_language)▼
if sitelink and mw.ustring.find(sitelink, '^Category:') then▼
-- 'false' disabilita la consultazione della proprietà▼
▲ end
self.from_property_category[key_progetto] = false▼
▲ local sitelink = self.entity:getSitelink(interwiki)
▲ -- Dà sempre precedenza al sitelink se è una categoria
▲ if sitelink and mw.ustring.find(sitelink, '^Category:') then
▲ -- 'false' disabilita la consultazione della proprietà
▲ self.from_property_category[key_progetto] = false
▲ end
local claim▼
if progetto.property_category and self.from_property_category[key_progetto] ~= false then▼
claim = self:getClaim(progetto.property_category)▼
self.collegamenti[key_progetto] = 'Category:' .. claim▼
self.from_property_category[key_progetto] = true▼
end
▲ if progetto.property_category and self.from_property_category[key_progetto] ~= false then
▲ claim = self:getClaim(progetto.property_category)
if self.from_property_category[key_progetto] then▼
self.article_link[key_progetto] = sitelink▼
self.
self.collegamenti[key_progetto] = sitelink▼
end
if
local badge_class = {}▼
▲ self.article_link[key_progetto] = sitelink
local badge_title = {}▼
key_progetto = string.format('%s_%s', key_progetto, lingua)
badge_class[#badge_class+1] = cfg.badges[badge_quality].class▼
badge_title[#badge_title+1] = cfg.badges[badge_quality].title▼
▲ self.collegamenti[key_progetto] = string.format('%s:%s', lingua, sitelink)
else
end
if self.entity.sitelinks[interwiki].badges and not self.lingua[interwiki] then
▲ local badge_class = {}
▲ local badge_title = {}
for _, badge_quality in ipairs(self.entity.sitelinks[interwiki].badges) do
if cfg.badges[badge_quality] then
▲ badge_class[#badge_class+1] = cfg.badges[badge_quality].class
▲ badge_title[#badge_title+1] = cfg.badges[badge_quality].title
end
end
self.badge[key_progetto].class = table.concat(badge_class, ' ' )▼
self.badge[key_progetto].title = table.concat(badge_title, ', ' )
end
claim = self:getClaim(progetto.property_gallery)▼
▲ self.badge[key_progetto].class = table.concat(badge_class, ' ' )
self.
end
▲ claim = self:getClaim(progetto.property_gallery)
end
end
Riga 252 ⟶ 258:
setmetatable(self, { __index = Collegamento,
__tostring = function(t) return self:__tostring() end })
local default_progetto = cfg.parameters[key_progetto:match('^[^_]+')]
if default_progetto == nil then
-- Progetto non riconosciuto
Riga 262 ⟶ 268:
return nil
else
self.key_progetto = key_progetto:match('^[^_]+')
self.ordine = default_progetto.ordine
self.badge_leftbar = {}
Riga 288 ⟶ 294:
self.testo_dopo = ' <small>' .. args.data .. '</small>'
end
local lingua = entity.lingua[key_progetto] and require('Modulo:Linguaggi').get_voce(entity.lingua[key_progetto]
args[key_progetto .. '_lingua'] and 'lingua ' .. args[key_progetto .. '_lingua']
if default_progetto.lingua and lingua then
Riga 607 ⟶ 613:
-- ====================================================================================================
for key_progetto, collegamento in pairs(entity.collegamenti) do
if not newArgs[key_progetto] and not (cfg.automatic_link[key_progetto] and cfg.automatic_link[key_progetto].alias and newArgs[cfg.automatic_link[key_progetto].alias]) then
newArgs[key_progetto] = collegamento
-- Segnala che il collegamento è stato aggiunto da Wikidata
add_category(cfg.automatic_link[key_progetto:match('^[^_]+')].category_wikidata)
end
end
Riga 620 ⟶ 626:
local collegamento_found = false
for key_progetto, collegamento in pairs(newArgs) do
if cfg.parameters[key_progetto:match('^[^_]+')] then
-- Salta i collegamenti a Wikidata per le voci nel namespace principale eccetto che per la Pagina principale
if key_progetto ~= 'wikidata' or current_namespace ~= 0 or current_pagename == 'Pagina principale' then
Riga 631 ⟶ 637:
if progetto then
progetti[#progetti+1] = progetto
end
end
|