Modulo:Controllo Wikidata/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m cat |
m Bot: rimuovo no globals obsoleto |
||
(10 versioni intermedie di 2 utenti non mostrate) | |||
Riga 3:
]]--
require('
local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local p = {}
-- Confronta due file multimediali su Commons senza tenere conto di eventuali underscore
local function compareCommonsMediaFile(name, name2)
return name:gsub('_', ' ') == name2:gsub('_', ' ')
-- Confronta due URL senza tenere conto di un eventuale slash finale (solo se uno) e del protocollo http/https
local function compareURL(url1, url2)
local ret =
url1, url2 = url1:match('^https?://(.*)$'), url2:match('^https?://(.*)$')
if url1 and url2 then
Riga 17 ⟶ 22:
if n <= 1 and n2 <= 1 then
ret = url1:gsub('/$', '') == url2:gsub('/$', '')
ret = url1 == url2
end
end
Riga 22 ⟶ 29:
end
local function getCategory(wdval, userval
local comparefunc = function(v1, v2) return v1 == v2 end
local cat
Riga 29 ⟶ 35:
-- consente di definire funzioni di confronto per proprietà specifiche
-- (oppure tramite eventuali parametri)
if
comparefunc = compareCommonsMediaFile
comparefunc = compareURL
end
Riga 35 ⟶ 43:
if userval then
if not wdval then
cat = string.format('%s assente su Wikidata',
elseif args.uguale ~= 'no' and comparefunc(wdval, userval) then
cat =
elseif args.diff ~= 'no' then
cat = string.format('%s differente
end
elseif wdval then
cat = string.format('%s
end
return cat and string.format('[[
end
-- Per l'utilizzo da altro modulo
function p._main(args)
local wdprop, userval
-- namespace 0
if (mw.title.getCurrentTitle().namespace ~= 0
return nil
end
unit = args.unit,
▲ if args.id == 'no' then
from = args.debug and args.from
▲ else
▲ wdval = mWikidata._getProperty({
▲ wdprop,
▲ showunit = args['unità'] ~= 'no',
▲ })
▲ end
▲ return getCategory(wdval, userval, catprefix, args)
end
--
function p.main(frame)
return p._main(getArgs(frame, { parentOnly = true }))
end
|