Modulo:Sito ufficiale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m -categoria di test
m modulo no globals obsoleto
 
(22 versioni intermedie di 5 utenti non mostrate)
Riga 3:
]]--
require('Modulo:No globalsstrict')
 
local mWikidata = require('Modulo:Wikidata')
local mEditAtWikidata = require('Modulo:Modifica su Wikidata')
local errorCategory = '[[Categoria:Voci con template Sito ufficiale e senza dati da recuperare da Wikidata]]'
local p = {}
 
local function formatListformatWebsite(valueswebsite, title)
return string.format('<ul><li>%s</li></ul>', mw.text.listToText(values, '</li><li>', '</li><li>'))
end
 
local function formatWebsite(website)
return mw.getCurrentFrame():expandTemplate {
title = 'Cita web',
args = {
url = website.url,
titolo = 'Sito ufficiale'title,
lingua = table.concat(website.langs, ' ,')
}
}
end
 
local function getWebsites(pid)
local claims
local websites = {}
 
claims = mWikidata._getClaims('P856'pid) or {}
for _idx, claim in ipairs(claims) do
local langs = mWikidata._formatQualifiers(claim, 'P407', { formatting = 'raw' }, true)
langs = (#langs == 1 and langs[1] == 'Q652') and {} or langs
for i, lang in ipairs(langs) do
langs[i] = mWikidata._getLabel({ lang })
end
websites[#websites + 1idx] = {
url = mWikidata._formatStatement(claim),
langs = langs
Riga 43 ⟶ 40:
end
 
-- Entry-pointFunzione per il template {{Sito ufficiale}}
function p.main(frame)
local websites = getWebsites(frame.args.pid or 'P856')
for iidx, website in ipairs(websites) do
-- le proprietà utilizzate sono di tipo "valore singolo", aggiunge l'elenco puntato solo per le eccezioni
websites[i] = formatWebsite(website)
websites[idx] = (idx > 1 and '*' or '') ..
formatWebsite(website, frame.args.title or 'Sito ufficiale') ..
mEditAtWikidata._showMessage({ pid = frame.args.pid or 'P856' })
end
return #websites > 0 and formatListtable.concat(websites, '\n') or ''
(mw.title.getCurrentTitle().namespace == 0 and errorCategory or nil)
end