Modulo:Interprogetto/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
con parametro notizia e in disambigua è inutile verificare/aggiungere collegamenti da wikidata |
test ignorewikidata |
||
Riga 27:
return ''
elseif mw.ustring.sub(s, -1) == "'" then
return s
else
return s .. ' '
Riga 53:
add_category(category)
else
add_category('Errori di compilazione del template
end
end
Riga 90:
local Wikidata_entity = {}
function Wikidata_entity:new(ignore_wikidata)
-- Carica i dati da Wikidata se esistono
local self = {}
self.entity = nil
if not(ignore_wikidata) and mw.wikibase then
self.entity = mw.wikibase.getEntityObject()
end
Riga 107:
-- Considera disambigua se la pagina su Wikidata ha la proprietà P31 ("Istance of", [[wikidata:Property:P31]])
-- con valore 4167410 ("Wikimedia disambiguation page", [[wikidata:Q4167410]])
self.disambigua = self:hasPropertyValue('P31', '4167410')
return self
end
Riga 126:
for key_progetto, progetto in pairs(cfg.automatic_link) do
-- Carica i collegamenti di un progetto solo se non disambigua o tipo di progetto abilitato in disambigua
if not self.disambigua or cfg.progetti[key_progetto].abilita_in_disambigua then
local sitelink = self.entity:getSitelink(progetto.interwiki)
if sitelink then
Riga 264:
function Collegamento:Link_text()
local default_progetto = cfg.parameters[self.key_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 ",
self.oggetto, self.lingua, " ", add_space(self.preposizione), self.testo_prima, "'''[[", default_progetto.prefix,
self.collegamento, "|", self.etichetta, "]]'''", self.testo_dopo
Riga 285:
local default_progetto = cfg.parameters[self.key_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 ",
default_progetto.nome_progetto, "]] '''<span class=\"plainlinks\">[", main_page_link, " ", default_progetto.nome_progetto,
"]</span>''' contiene ", self.oggetto, " ", add_space(self.preposizione), self.testo_prima,
Riga 389:
end
-- Tabella con i parametri di default valorizzati
local default = {}
-- ========================================================================================================
-- Carica il nome della pagina corrente
Riga 406:
-- Carica i dati da Wikidata nell'oggetto "entity"
-- ========================================================================================================
local
if origArgs.nowikidata and origArgs.nowikidata:lower() == 's' then
ignore_wikidata = true
local entity = Wikidata_entity:new(ignore_wikidata)
-- ========================================================================================================
-- Calcola l'etichetta di default per i collegamenti, in ordine di priorità:
Line 477 ⟶ 481:
-- abilitati in disambigua che in ogni caso non devono essere aggiunti
-- ========================================================================================================
if not newArgs.notizia then
-- ====================================================================================================
-- Controlla il collegamento compilato manualmente e quello caricato da Wikidata
Line 483 ⟶ 487:
for key_progetto, collegamento in pairs(newArgs) do
if cfg.parameters[key_progetto] and cfg.automatic_link[key_progetto] and entity.entity then
if not is_defined(entity_collegamento) then
-- Segnala che è presente il collegamento compilato manualmente ma non quello in Wikidata
add_category(cfg.automatic_link[key_progetto].category_wikidata_missing)
Line 507 ⟶ 511:
add_category(cfg.automatic_link[key_progetto].category_wikidata)
end
end
end
end
-- ========================================================================================================
Line 516 ⟶ 520:
for key_progetto, collegamento in pairs(newArgs) do
if cfg.parameters[key_progetto] then
-- Salta i collegamenti a Wikidata per le voci nel
if key_progetto ~= 'wikidata' or current_namespace ~= 0 or current_pagename == 'Pagina principale' then
-- Se è disambigua registra solo i valori per i progetti abilitati in disambigua
Line 533 ⟶ 537:
-- Genera il codice html
-- ========================================================================================================
if
if #progetti > 1 then▼
▲ end
else
▲ add_error('Template interprogetto vuoto e senza dati da recuperare da Wikidata', 'Errori di compilazione del template interprogetto - template vuoto')
end
end
Line 568 ⟶ 557:
-- =================================================================================================================================
if #errors_msg > 0 then
if #progetti > 0 then
root:wikitext('\n')
end
|