Modulo:Wikidata: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Ha protetto "Modulo:Wikidata": Template o modulo usato in maniera estensiva ([Modifica=Consentito solo agli amministratori] (infinito) [Spostamento=Consentito solo agli amministratori] (infinito))
aggiornato all'uso tramite i template Wikidata WikidataQ e WikidataN
Riga 1:
--[[
* Modulo per accedereimplementare ale Wikidatafunzionalità indei modotemplate più{{Wikidata}}, avanzato rispetto{{WikidataQ}} ae {{#propertyWikidataN}}.
* Permette di accedere a Wikidata in modo più avanzato rispetto a {{#property}}.
 
* Il modulo è stato importato inizialmente da:
* http://test2.wikipedia.org/w/index.php?title=Module:Wikidata&oldid=52322
]]
 
local getArgs = require('Module:Arguments').getArgs
 
-- Messaggi di errore
Riga 15 ⟶ 18:
["unknown-snak-type"] = "Tipo di snak sconosciuto.",
["unknown-datavalue-type"] = "Tipo di dato sconosciuto.",
["unknown-entity-type"] = "Tipo di entità sconosciuta.",
["unknown-value-module"] = "Devi impostare entrambi i parametri: ''value-module'' e ''value-function''.",
["value-module-not-found"] = "Modulo indicato da ''value-module'' non trovato.",
["value-function-not-found"] = "Funzione indicata da ''value-function'' non trovata."
},
["somevalue"] = "''valore sconosciuto''",
Riga 102:
local ret
 
--Use the customize handler if provided
if options['value-module'] or options['value-function'] then
if not options['value-module'] or not options['value-function'] then
return formatError( 'unknown-value-module' )
end
local formatter = require ('Module:' .. options['value-module'])
if formatter == nil then
return formatError( 'value-module-not-found' )
end
local fun = formatter[options['value-function']]
if fun == nil then
return formatError( 'value-function-not-found' )
end
return fun( datavalue.value, options )
end
--Default formatters
if datavalue.type == 'wikibase-entityid' then
Riga 298 ⟶ 282:
 
local p = {}
 
-- Funzione di utilità, ritorna gli argomenti passati al modulo
-- scartando quelli con nome valorizzati a stringhe vuote.
-- Trasforma inoltre i valori di property e qualifier in uppercase.
local function getArgs( frame )
local args = {}
for k, v in pairs( frame.args ) do
if v ~= '' then
if k == "property" or k == "qualifier" then
v = string.upper( v )
end
args[k] = v
end
end
return args
end
 
-- Entry-point per {{#invoke:Wikidata|formatStatements}}
Riga 321 ⟶ 287:
local args, ret, claims
 
args = getArgs( frame, { parentOnly = true } )
-- Per riabilitare eventualmente la chiamata al modulo diretta,
-- pur usando sempre solo getParent per il template, sostituire con:
-- args = getArgs( frame, { wrappers = 'Template:Wikidata' } )
 
-- parametri posizionali
args.property = args[1] and string.upper( frame.args[1] ) or nil
args.value = args[2]
-- fix uppercase
args.qualifier = args.qualifier and string.upper( args.qualifier ) or nil
 
-- if parameter value is already set, use it
Riga 341 ⟶ 316:
local args, ret, claims, formattedQualifier, formattedQualifiers
 
args = getArgs( frame, { parentOnly = true } )
-- args = getArgs( frame, { wrappers = 'Template:WikidataQ' } )
-- parametri posizionali
args.property = args[1] and string.upper( args[1] ) or nil
args.qualifier = args[2] and string.upper( args[2] ) or nil
args.value = args[3]
 
-- if parameter value is already set, use it
Riga 378 ⟶ 359:
-- Entry-point per {{#invoke:Wikidata|N}}
function p.N( frame )
local args, entity, property, count
 
args = getArgs( frame, { parentOnly = true } )
-- args = getArgs( frame, { wrappers = 'Template:WikidataN' } )
 
-- parametri posizionali
property = args[1] and string.upper( args[1] ) or nil
 
if funnot == nilproperty then
returnerror( formatError( 'valueproperty-moduleparam-not-foundprovided' ) )
end
 
property = string.upper( frame.args[1] )
entity = mw.wikibase.getEntityObject()
if entity and entity.claims and entity.claims[property] then