Modulo:Diocesi/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
aggiungo categoria di errore
Omega Bot (discussione | contributi)
m Bot: rimuovo no globals obsoleto
 
(7 versioni intermedie di un altro utente non mostrate)
Riga 4:
]]--
 
require('Modulo:No globalsstrict')
 
local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local error_category = '[[Categoria:Errori di compilazione del template DiocesiEdificio religioso]]'
-- La proprietà P708 verrà letta solo se il suo valore (di tipo elemento) è "istanza di" uno di questi elementi.
-- Il formato di ogni riga è:
Riga 73:
-- @return {string}
local function getIstanzaId(anno_sconsacr)
local diocesiId, claims, anno_inizio_st, ret
diocesiId = mWikidata._getProperty({ 'P708', n = 1, formatting = 'raw' })
anno_sconsacr = tonumber(anno_sconsacr)
-- in futuro il modulo:Wikidata restituirà nil per "nessun valore" e "valore sconosciuto"
if diocesiId and mw.wikibase.isValidEntityId(diocesiId) then
local claims = {}
claims = mWikidata._getClaims('P31', { from = diocesiId })
for _, claim in ipairs(mw.wikibase.getAllStatements(diocesiId, 'P31')) do
if claim.rank ~= 'deprecated' then
table.insert(claims, claim)
end
end
ret = claims[1] and mWikidata._formatStatement(claims[1], { formatting = 'raw' })
-- Sede titolare è sovrascritto se ci sono altre dichiarazioni e se la diocesi è diventata
-- tale dopo l'anno di sconsacrazione della chiesa, altrimenti genera una categoria di errore
if ret == 'Q15217609' and claims[2] then
anno_sconsacr = anno_sconsacr and tonumber(anno_sconsacr:match('%d%d%d%d?'))
anno_inizio_st = mWikidata._formatQualifiers(claims[1], 'P580') or ''
local anno_inizio_st = tonumbermWikidata._formatQualifiers(anno_inizio_stclaims[1], 'P580') or ''
if anno_sconsacr and anno_inizio_st and anno_sconsacr <= tonumber(anno_inizio_st then:match('%d%d%d%d?'))
if anno_sconsacr and anno_inizio_st and anno_sconsacr <= anno_inizio_st then
ret = mWikidata._formatStatement(claims[2], { formatting = 'raw' })
end