Modulo:Controllo Wikidata/sandboxUnitTest: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: --* Modulo che implementa il template Controllo Wikidata. -- require('Modulo:No globals') local getArgs = require('Modulo:Arguments').getArgs local mWikidata =...
 
Omega Bot (discussione | contributi)
m Bot: rimuovo no globals obsoleto
 
(5 versioni intermedie di un altro utente non mostrate)
Riga 1:
*-- Modulo che implementa il template [[Template:Controllo Wikidata.]]
--[[
* Modulo che implementa il template Controllo Wikidata.
]]--
require('Modulo:No globalsstrict')
local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local p = {}
 
Riga 30 ⟶ 26:
 
--[[
* La categoria senza wikitesto oppure nil.
* @return string|nil
]]--
function p._category(wdvalwdprop, userval, catprefix, args)
local mWikidata = require('Modulo:Wikidata')
if not wdval then
 
local wdval
 
-- con id=no il primo parametro non è più trattato come l'ID di una proprietà Wikidata
-- ma come una normale stringa da confrontare con il secondo parametro
if notargs.id wdval== 'no' then
wdval = wdprop
else
wdval = mWikidata._getProperty( {
wdprop,
showunit = args['unità'] ~= 'no',
formatnum = args['unità'] ~= 'no',
from = args.from
} )
end
 
local genletto = { ms = 'letto', mp = 'letti', fs = 'letta', fp = 'lette' }
local comparefunc = function(v1, v2) return v1 == v2 end
local cat
Riga 56 ⟶ 59:
end
end
 
local genletto = { ms = 'letto', mp = 'letti', fs = 'letta', fp = 'lette' }
 
if userval then
Riga 73 ⟶ 78:
 
--[[
* Per l'utilizzo da altro modulo.
* @return string
]]--
Riga 79 ⟶ 84:
local wdprop, userval, catprefix = args[1], args[2], args[3]
 
-- namespace 0 obbligatorio salvo everyNS
-- specificando everyNS si può categorizzare anche fuori dal namespace 0
if (mw.title.getCurrentTitle().namespace ~= 0 and args.everyNS ~= 'sì') or (args.id ~= 'no' and not wdprop) or not catprefix then
-- namespace 0, proprietà Wikidata e prefisso categoria obbligatori
return nil''
if (mw.title.getCurrentTitle().namespace ~= 0 and args.everyNS ~= 'sì') or (args.id ~= 'no' and not wdprop) or not catprefix then
return nil
end
 
-- namespace 0, proprietà Wikidata e prefisso categoria obbligatori
-- con id=no il primo parametro non è più trattato come l'ID di una proprietà Wikidata
if args.id =~= 'no' and not wdprop or not catprefix then
-- ma come una normale stringa da confrontare con il secondo parametro
return ''
local wdval
if args.id == 'no' then
wdval = wdprop
end
local category = p._category(wdval, userval, catprefix, args)
 
local category = p._category(wdvalwdprop, userval, catprefix, args)
return category and string.format('[[Categoria:%s]]', category) or ''
end
Riga 100 ⟶ 102:
]]--
function p.main(frame)
local getArgs = require('Modulo:Arguments').getArgs
return p._main(getArgs(frame, {parentOnly = true}))
end
Riga 107 ⟶ 110:
]]--
function p.category(frame)
local getArgs = require('Modulo:Arguments').getArgs
return p._category(getArgs(frame, {parentOnly = true}))
local args = getArgs(frame)
return p._category(args[1], args[2], args[3], args)
end