Modulo:Controllo Wikidata: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m 'sì'
il controllo va fatto al netto della formattazione dell'output
 
(7 versioni intermedie di 3 utenti non mostrate)
Riga 3:
]]--
require('Modulo:No globalsstrict')
local getArgs = require('Modulo:Arguments').getArgs
Riga 29:
end
 
local function getCategory(wdval, userval, catprefix, args)
local genletto = { ms = 'letto', mp = 'letti', fs = 'letta', fp = 'lette' }
local comparefunc = function(v1, v2) return v1 == v2 end
local cat
Line 36 ⟶ 35:
-- consente di definire funzioni di confronto per proprietà specifiche
-- (oppure tramite eventuali parametri)
if mWikidata._getDatatype({ args[1] }) == 'file multimediale su Commons' then
if args.id ~= 'no' then
comparefunc = compareCommonsMediaFile
if mWikidata._getDatatype({ args[1] }) == 'file multimediale su Commons' then
ifelseif args.id[1] ~== 'noP856' then
comparefunc = compareCommonsMediaFile
comparefunc = compareURL
elseif args[1] == 'P856' then
comparefunc = compareURL
end
end
 
if userval then
if not wdval then
cat = string.format('%s assente su Wikidata', catprefixargs[1])
elseif args.uguale ~= 'no' and comparefunc(wdval, userval) then
cat = string.format('%s uguale asu Wikidata', catprefixargs[1])
elseif args.diff ~= 'no' then
cat = string.format('%s differente dasu Wikidata', catprefixargs[1])
end
elseif wdval then
cat = string.format('%s %sletta da Wikidata', catprefix, args.genere and genletto[args.genere1] or 'letto')
end
return cat and string.format('[[Categoria%sCategoria:%s]]', args.debug and ':' or '', cat)
end
-- Per l'utilizzo da altro modulo
function p._main(args)
local wdprop, userval, catprefix = args[1], args[2], args[3]
local wdval
-- namespace 0, e proprietà Wikidata e prefisso categoria obbligatori
 
if (mw.title.getCurrentTitle().namespace ~= 0 and (tonumber(args.everyNS ~= 'sì'ns) or (args.id ~= 'no' and not wdprop0) or not catprefixwdprop then
-- specificando everyNS si può categorizzare anche fuori dal namespace 0
-- namespace 0, proprietà Wikidata e prefisso categoria obbligatori
if (mw.title.getCurrentTitle().namespace ~= 0 and args.everyNS ~= 'sì') or (args.id ~= 'no' and not wdprop) or not catprefix then
return nil
end
 
local wdval = mWikidata._getProperty({
-- con id=no il primo parametro non è più trattato come l'ID di una proprietà Wikidata
wdprop,
-- ma come una normale stringa da confrontare con il secondo parametro
unit = args.unit,
if args.id == 'no' then
showunit = args.showunit,
wdval = wdprop
formatting = args.formatting,
else
from = args.debug and args.from
wdval = mWikidata._getProperty({
})
wdprop,
 
showunit = args['unità'] ~= 'no',
return getCategory(wdval, userval, catprefix, args)
formatnum = args['unità'] ~= 'no'
})
end
return getCategory(wdval, userval, catprefix, args)
end
-- Entry-pointFunzione per il template {{Controllo Wikidata}}
function p.main(frame)
return p._main(getArgs(frame, { parentOnly = true }))
end