Modulo:Controllo Wikidata: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Ha protetto "Modulo:Controllo Wikidata": Template o modulo usato in maniera estensiva ([Modifica=Consentito solo agli amministratori] (infinito) [Spostamento=Consentito solo agli amministratori] (infinito)) |
+compareURL |
||
Riga 8:
local mWikidata = require('Modulo:Wikidata')
local p = {}
-- Confronta due URL senza tenere conto di un eventuale slash finale (solo se uno) e del protocollo http/https
local function getWikidataCategory(wdval, userval, catprefix, args)▼
local function compareURL(url1, url2)
local ret = false
url1, url2 = url1:match('^https?://(.*)$'), url2:match('^https?://(.*)$')
if url1 and url2 then
local n, n2 = select(2, url1:gsub('/', '')), select(2, url2:gsub('/', ''))
if n <= 1 and n2 <= 1 then
ret = url1:gsub('/$', '') == url2:gsub('/$', '')
else
ret = url1 == url2
end
end
return ret
end
local genletto = { ms = 'letto', mp = 'letti', fs = 'letta', fp = 'lette' }
local comparefunc = function(v1, v2) return v1 == v2 end
local cat
-- consente di definire funzioni di confronto per proprietà specifiche
-- (oppure tramite eventuali parametri)
if args.id ~= 'no' and args[1] == 'P856' then
comparefunc = compareURL
end
if userval then
if not wdval then
cat = string.format('%s assente su Wikidata', catprefix)
elseif comparefunc(wdval
cat = args.uguale == 'sì' and string.format('%s uguale a Wikidata', catprefix) or nil
elseif args.diff ~= 'no' then
Line 31 ⟶ 53:
function p._main(args)
local wdprop, userval, catprefix = args[1], args[2], args[3]
local wdval
-- namespace 0, proprietà Wikidata e prefisso categoria obbligatori
Line 50 ⟶ 72:
end
return
end
|