Modulo:Interprogetto/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
semplifico
rifiniture
Riga 133:
function Wikidata_entity:getInterwiki(project, property_language)
local interwiki = { project }
if property_language and self.entity.claims and self.entity.claims[property_language] then
for i, claim in ipairs(self.entity.claims[property_language]) do
if claim.mainsnak.datavalue.type == 'wikibase-entityid' then
Riga 176:
if self.from_property_category[key_progetto] then
self.article_link[key_progetto] = sitelink
elseif self.lingua[interwiki]i > 1 then
local lingua = self.lingua[interwiki]
key_progetto = string.format('%s_%s', key_progetto, lingua)
Riga 260:
return nil
else
self.default_progetto = default_progetto
self.key_progetto = key_progetto:match('^[^_]+')
self.ordine = default_progetto.ordine
self.badge_leftbar = {}
Riga 298:
 
function Collegamento:Link()
local default_progetto = self.default_progetto
if cfg.parameters[self.key_progetto].link == 'Link' then return self:Link_text() end
if default_progetto.link == 'Link' then
if cfg.parameters[self.key_progetto].link == 'LinkWithLanguage' then return self:Link_language() end
return self:Link_text()
if cfg.parameters[self.key_progetto].link == 'LinkRicette' then return self:Link_ricette() end
elseif default_progetto.link == 'LinkWithLanguage' then
if cfg.parameters[self.key_progetto].link == 'LinkIncubator' then return self:Link_incubator() end
return self:Link_language()
add_error('Errore interno modulo Interprogetto:' .. self.key_progetto)
elseif default_progetto.link == 'LinkRicette' then
return self:Link_ricette()
elseif default_progetto.link == 'LinkIncubator' then
return self:Link_incubator()
end
add_error('Errore interno modulo Interprogetto:' .. self.key_progetto)
return ''
end
 
function Collegamento:Link_lb()
local default_progetto = self.default_progetto
if cfg.parameters[self.key_progetto].link == 'Link' then return self:Link_text_lb() end
if default_progetto.link == 'Link' then
if cfg.parameters[self.key_progetto].link == 'LinkWithLanguage' then return self:Link_language_lb() end
if cfg.parameters[self.key_progetto].link == 'LinkRicette' then return self:Link_text_lb() end
elseif default_progetto.link == 'LinkWithLanguage' then
if cfg.parameters[self.key_progetto].link == 'LinkIncubator' then return self:Link_incubator_lb() end
return self:Link_language_lb()
add_error('Errore interno modulo Interprogetto:' .. self.key_progetto)
elseif default_progetto.link == 'LinkRicette' then
return self:Link_text_lb()
elseif default_progetto.link == 'LinkIncubator' then
return self:Link_incubator_lb()
end
add_error('Errore interno modulo Interprogetto:' .. self.key_progetto)
return ''
end
 
function Collegamento:Link_text()
local default_progetto = cfg.parameters[self.key_progetto]default_progetto
return "* [[File:", default_progetto.icona, "|link=", default_progetto.prefix, "|", default_progetto.dimensione_icona, "|Collabora a ",
default_progetto.nome_progetto, "]] [[", default_progetto.prefix, "|", default_progetto.nome_progetto, "]] contiene ",
Line 324 ⟶ 336:
 
function Collegamento:Link_text_lb()
local default_progetto = cfg.parameters[self.key_progetto]default_progetto
return "[[", default_progetto.prefix, self.collegamento, "|", default_progetto.nome_leftbar or default_progetto.nome_progetto, "]]"
end
 
function Collegamento:Link_ricette()
local default_progetto = cfg.parameters[self.key_progetto]default_progetto
return "* [[File:", default_progetto.icona, "|link=", default_progetto.prefix, "|", default_progetto.dimensione_icona,
"|Collabora a ", default_progetto.nome_progetto, "]] Il ''[[b:Libro di cucina|Libro di cucina]]'' di [[b:|Wikibooks]] contiene '''[[",
Line 336 ⟶ 348:
 
function Collegamento:Link_language()
local default_progetto = cfg.parameters[self.key_progetto]default_progetto
local main_page_link = tostring(mw.uri.fullUrl(default_progetto.prefix, {uselang='it'}))
return "* [[File:", default_progetto.icona, "|link=", main_page_link, "|", default_progetto.dimensione_icona, "|Collabora a ",
Line 346 ⟶ 358:
 
function Collegamento:Link_language_lb()
local default_progetto = cfg.parameters[self.key_progetto]default_progetto
return "<span class=\"plainlinks\" title=\"", default_progetto.prefix , self.collegamento, "\">[",
tostring(mw.uri.fullUrl(default_progetto.prefix .. self.collegamento, {uselang='it'})), " ",
Line 353 ⟶ 365:
 
function Collegamento:Link_incubator()
local default_progetto = cfg.parameters[self.key_progetto]default_progetto
local oggetto = self.oggetto
if not cfg.prefix_incubator[oggetto] then
Line 397 ⟶ 409:
leftbar:wikitext('<li class=\"', progetto.badge_leftbar.class, '\" title=\"', progetto.badge_leftbar.title, '\">')
leftbar:wikitext(progetto:Link_lb())
if cfg.parameters[progetto.key_progetto]default_progetto.nome_leftbar then
leftbar:wikitext('<br />(', cfg.parameters[progetto.key_progetto]default_progetto.nome_progetto, ')')
end
leftbar:wikitext('</li>')
Line 531 ⟶ 543:
if entity.etichetta then
-- Elimina un eventuale "Categoria:" in fronte del nome
default.etichetta = mw.ustring.gsub(wikidata_labelentity.etichetta, '^Categoria:', '')
else
-- Elimina un'eventuale disambigua dal nome
Line 617 ⟶ 629:
local collegamento_found = false
for key_progetto, collegamento in pairs(newArgs) do
if cfg.parameters[key_progetto:match('^[^_]+') or entity.collegamenti[key_progetto] 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
Line 623 ⟶ 635:
if progetto then
collegamento_found = true
-- Se è disambigua registra solo i valori per i progetti abilitati in disambigua
end
if not entity.disambigua or cfg.parameters[key_progetto] and cfg.parameters[key_progetto].abilita_in_disambigua then
-- Se è disambigua registra solo i valori per i progetti abilitati in disambigua
if not entity.disambigua or cfg.parameters[key_progetto].abilita_in_disambigua then
if progetto then
progetti[#progetti+1] = progetto
end