Modulo:Cita Wikidata

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Cita Wikidata/man (modifica · cronologia)
Sandbox: Modulo:Cita Wikidata/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Cita Wikidata/test (modifica · cronologia · esegui)
Questo modulo serve come supporto per il Template:Cita tramite Wikidata.
require('Modulo:No globals')
local p = {}
local propertyId = ''
local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local mCitazione = require('Modulo:Citazione')
local function is_set( var )
return not (var == nil or var == '');
end
local function getQualifier(qualifierId, conjunction)
return mWikidata._getQualifier( { 'P36', 'P580', from = 'Q183', conjunction=conjunction } )
end
local function getAutori()
end
local function getData()
end
function p.getCitation(frame)
local args = getArgs(frame)
propertyId = args.prop
local medium = args.medium
local identifier = args.id
-- se un identificatore è specificato, allora si sta forzando l'inserimento manuale;
-- in tal caso, nessun dato va ricavato da Wikidata, altrimenti si rischierebbero incongruenze fra i dati manuali e quelli automatici
if not is_set(identifier) then
if not is_set(args.autore) then
local autoriStringa = getQualifier('P2093')
if is_set(autoriStringa) then
local autoriConLink = getQualifier('P50', ", ")
if is_set(autoriConLink) then
args.autore = autoriConLink .. ', ' .. autoriStringa
else
args.autore = autoriStringa
end
else
args.autore = getQualifier('P50')
end
end
if not is_set(args.titolo) then
--TODO
end
if not is_set(args.data) and not is_set(args.anno) then
--TODO
end
if not is_set(args.vol) and not is_set(args.volume) then
--TODO
end
end
args.medium = nil
args.prop = nil
args.id = nil
return mCitazione.cita_da_modulo(medium, args)
end
return p