Modulo:Fuso orario/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova sandbox
 
aggiornato alla versione corrente
Riga 75:
 
-- ricerca la proprietà fuso orario (P421)
local claims = mWikidata._getClaims('P421', { from = args.from, rank = 'best' } ) or {}
-- se non presente la ricerca nell'elemento ottenuto da iso3166
if #claims == 0 and args.iso3166 then
Riga 83:
if #claims == 0 then
local item = mWikidata._getProperty( { 'P17', from = args.from, formatting = 'raw', n = 1 } )
claims = mWikidata._getClaims('P421', { from = item, rank = 'best' } ) or {}
end
for _, claim in ipairs(claims) do
Riga 101:
 
return ret, numTimezones
end
 
local function getWikidataCategory(userval, wdval)
local cat
if userval then
if not wdval then
cat = 'Fuso orario assente su Wikidata'
elseif wdval == userval then
cat = 'Fuso orario uguale a Wikidata'
else
cat = 'Fuso orario differente da Wikidata'
end
elseif wdval then
cat = 'Fuso orario letto da Wikidata'
end
return string.format('[[Categoria:%s]]', args.cat)
end
 
-- Per l'utilizzo da altro modulo
function p._main(args)
local retuserval, wdval
local cat = {}
 
-- valore utente
if args[1] then
retuserval = formatUserInput(args[1])
if not retuserval and args.errmsg then
local msg = mw.ustring.gsub(args.errmsg, '\\{', '{')
msg = mw.ustring.gsub(msg, '\\}', '}')
ret =return mw.getCurrentFrame():preprocess(msg)
end
end
else
 
local timezones, numTimezones = getTimezones(args)
-- valore letto da Wikidata
if args.unico and numTimezones > 1 then
local timezones, numTimezones = 0getTimezones(args)
if args.unico and numTimezones > 1 then
numTimezones = 0
end
if numTimezones > 0 then
retwdval = formatTimezones(timezones)
end
 
-- categorie di servizio
elseif args.cat and if mw.title.getCurrentTitle().namespace == 0 then
if not userval and not wdval and args.cat then
table.insert(cat, string.format('[[Categoria:%s]]', args.cat))
end
if userval or (wdval and numTimezones ><= 01) then
table.insert(cat, getWikidataCategory(userval, wdval))
ret = formatTimezones(timezones)
elseif args.cat and mw.title.getCurrentTitle().namespace == 0 then
return string.format('[[Categoria:%s]]', args.cat)
end
end
 
return ret
return (userval or wdval or '') .. table.concat(cat)
end