Modulo:Intestazione
Aspetto
La documentazione per questo modulo può essere creata in Modulo:Intestazione/man
local c = require('Modulo:Common')
local a = require('Modulo:Autore')
local d = require('Modulo:Date')
local lang = mw.getContentLanguage()
local p = {}
function p.linkAutore(frame)
nomi = frame:getParent().args[1]
local links = {}
for nome in string.gmatch(nomi, '([^/]+)') do
nomeStripped = mw.text.trim(nome):gsub(" %(.*%)", "")
table.insert(links, '[[Autore:' .. nome .. '|' .. nomeStripped .. ']]')
end
return c.concat(links, ', ')
end
-- controlla che la data di composizione sia compresa tra le date di nascita e morte dell'autore
function p.checkDateAutore(frame)
nomi = frame.args[1]
dataComposizione = frame.args[2] or ''
mw.log('Data composizione: '..dataComposizione)
dataComp = d.absoluteDate(dataComposizione)
if nomi and dataComp then
ok = false
i = 0
for nome in string.gmatch(nomi, '([^/]+)') do
i = i + 1
mw.log('Autore: ' .. nome)
qid = mw.wikibase.getEntityIdForTitle('Autore:' .. nome)
autoreItem = mw.wikibase.getEntity(qid)
dati = a.getDatiAutore(autoreItem)
mw.log('anno morte autore: '..(dati.annoMorte or ''))
mw.log('anno nascita autore: '..(dati.annoNascita or ''))
annoMorte = d.absoluteDate(dati.annoMorte)
annoNascita = d.absoluteDate(dati.annoNascita)
if annoMorte then
if annoMorte >= dataComp then
ok = true
end
elseif annoNascita and dati.isHuman then
-- se non sappiamo quando e' morto, supponiamo sia vissuto 100 anni
if dati.annoNascita + 100 >= dataComp then
ok = true
end
else
ok = true
end
end
if not ok and i > 0 then
return '[[Categoria:Data di composizione da controllare]]'
end
end
end
return p