Modulo:Controllo Wikidata

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Controllo Wikidata/man (modifica · cronologia)
Sandbox: Modulo:Controllo Wikidata/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Controllo Wikidata/test (modifica · cronologia · Esegui)
Modulo che implementa il template {{Controllo Wikidata}}.
--[[
* Modulo che implementa il template Controllo Wikidata.
]]--
require('Modulo:No globals')
local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local p = {}
local function getWikidataCategory(wdval, userval, catprefix, args)
local genletto = { ms = 'letto', mp = 'letti', fs = 'letta', fp = 'lette' }
local cat
if userval then
if not wdval then
cat = string.format('%s assente su Wikidata', catprefix)
elseif wdval == userval then
cat = args.uguale == 'sì' and string.format('%s uguale a Wikidata', catprefix)
elseif args.diff ~= 'no' then
cat = string.format('%s differente da Wikidata', catprefix)
end
elseif wdval then
cat = string.format('%s %s da Wikidata', catprefix, args.genere and genletto[args.genere] or 'letto')
end
return cat and string.format('[[Categoria:%s]]', cat)
end
-- Per l'utilizzo da altro modulo
function p._main(args)
local wdval, userval, catprefix = args[1], args[2], args[3]
-- namespace 0, proprietà Wikidata e prefisso categoria obbligatori
if mw.title.getCurrentTitle().namespace ~= 0 or not wdval or not catprefix then
return nil
end
if args.id ~= 'no' then
wdval = mWikidata._getProperty({
args[1],
showunit = args['unità'] ~= 'no',
formatnum = args['unità'] ~= 'no'
})
end
return getWikidataCategory(wdval, userval, catprefix, args)
end
-- Entry-point per il template {{Controllo Wikidata}}
function p.main(frame)
return p._main(getArgs(frame, {parentOnly = true}))
end
return p