Módulo:Wikibase
Ejemplos
- ID:
{{#invoke:Wikibase|id}}
→ Q8565357 - Etiqueta():
{{#invoke:Wikibase|etiqueta}}
→ Error en la secuencia de órdenes: la función «etiqueta» no existe. - Etiqueta(Q29):
{{#invoke:Wikibase|etiqueta|Q29}}
→ Error en la secuencia de órdenes: la función «etiqueta» no existe. - Etiqueta(q555555):
{{#invoke:Wikibase|etiqueta|q555555}}
→ Error en la secuencia de órdenes: la función «etiqueta» no existe. - Enlace():
{{#invoke:Wikibase|enlace}}
→ Error en la secuencia de órdenes: la función «enlace» no existe. - Enlace(Q29):
{{#invoke:Wikibase|enlace|Q29}}
→ Error en la secuencia de órdenes: la función «enlace» no existe. - Enlace(q555555):
{{#invoke:Wikibase|enlace|q555555}}
→ Error en la secuencia de órdenes: la función «enlace» no existe. - descripcion(P166):
{{#invoke:Wikibase|descripcion|p166}}
→ Error en la secuencia de órdenes: la función «descripcion» no existe.
Esta documentación está transcluida desde Módulo:Wikibase/doc.
Los editores pueden experimentar en la zona de pruebas (crear) y en los casos de prueba (crear) del módulo.
Por favor, añade las categorías en la subpágina de documentación. Subpáginas de este módulo.
Los editores pueden experimentar en la zona de pruebas (crear) y en los casos de prueba (crear) del módulo.
Por favor, añade las categorías en la subpágina de documentación. Subpáginas de este módulo.
-- Module:Wikibase
function getId( id )
if not mw.wikibase then
return "Módulo de wikibase no encontrado"
end
if id then return id end
entity = mw.wikibase.getEntityObject()
if not entity then return nil end
return entity.id
end
-- Returns the link corresponding to the code provided.
function sitelink(dbname)
if dbname==nil or dbname=='' then
return ''
end
local sl = mw.wikibase.getEntityObject()
if sl and sl.sitelinks[dbname] then
return sl.sitelinks[dbname].title
end
return ''
end
-- Returns the corresponding geographical coordinates of the item
function coords(typ,fallback)
if fallback~=nil and fallback~='' and string.match(fallback, '^<%!%-%-.*%-%->$')==nil then
return fallback
end
local item = mw.wikibase.getEntityObject()
if item~=nil and item.claims~=nil then
local coords = item.claims.P625
if coords~=nil and coords[0]~=nil and coords[1]==nil then
return coords[0].mainsnak.datavalue.value[typ]
end
end
return ''
end
-- Returns the most updated info from a series of statements
function updated(item,prop,frame)
if item~=nil then
local claims = item.claims
if claims~=nil and claims[prop]~=nil then
for index,claim in pairs(claims[prop]) do
local qual = claim.qualifiers
if qual==nil or qual.P582==nil then
-- p582 è la data di fine, significa che non è il valore attuale
local val = claim.mainsnak.datavalue.value
if val['numeric-id']~=nil then
local id = 'Q'..val['numeric-id']
local sl = mw.wikibase.sitelink(id)
local lb = mw.wikibase.label(id)
if sl~=nil and sl~='' then
return frame:preprocess('[['..sl..'|'..lb..']]')
end
return lb
end
return val
end
end
end
end
return ''
end
local p = {}
-- Returns the ID number of the data item linked to the current page.
function p.id(frame)
id = getId(frame.args[1])
if id == nil then
return "(no se encontró elemento)"
end
return id
end
-- Returns the ID number of the data item linked to the current page in the form of a link to Wikidata.
function p.idLink(frame)
id = getId(frame.args[1])
if id == nil then
return "(no se encontró elemento)"
end
return "[[d:" .. id .. "|" .. string.upper(id) .. "]]"
end
-- Returns the label of the data item.
function p.label(frame)
id = getId(frame.args[1])
if id == nil then
return "(no se encontró elemento)"
end
return mw.wikibase.label( id )
end
-- Returns the local page of the data item provided.
function p.page(frame)
id = getId(frame.args[1])
if id == nil then
return "(no element found)"
end
return mw.wikibase.sitelink( id )
end
-- Returns the link corresponding to the code provided.
function p.sitelink(frame)
return sitelink(frame.args.dbname or frame.args[1])
end
-- Returns the corresponding link to Wikipedia in Spanish.
function p.enwikilink(frame)
if frame.args[1]~=nil and frame.args[1]~='' then
return frame.args[1]
end
local sl = sitelink('eswiki')
if sl~=nil and sl~='' then
return sl
end
local t = mw.title.getCurrentTitle().text
if t~=nil and t~='' then
return t
end
return ''
end
-- Returns the Commons category of the data item.
function p.commonslink(frame)
if frame.args[1]~=nil and frame.args[1]~='' then
return 'Category:'..frame.args[1]
end
local item = mw.wikibase.getEntityObject()
if item~=nil and item.claims~=nil then
local cat = item.claims.P373
if cat~=nil and cat[0]~=nil and cat[1]==nil and cat[0].mainsnak.datavalue.value~=nil then
return 'Category:'..(cat[0].mainsnak.datavalue.value)
end
end
local t = mw.title.getCurrentTitle().text
if t~=nil and t~='' then
return 'Category:'..t
end
return ''
end
-- Returns the name of the capital or main city.
function p.capital(frame)
if frame.args[1]~=nil and frame.args[1]~='' then
return frame.args[1]
end
local item = mw.wikibase.getEntityObject()
return updated(item,'P36',frame)
end
function p.capoluogo(frame)
return p.capital(frame)
end
function p.valuta(frame)
if frame.args[1]~=nil and frame.args[1]~='' then
return frame.args[1]
end
local item = mw.wikibase.getEntityObject()
return updated(item,'P38',frame)
end
-- GET FLAG -- P41 thumb image
function p.flag(frame)
-- if frame.args[1]~=nil and frame.args[1]~='' then
-- return frame.args[1]
-- end
-- local title="" - not using title
local arg1 = frame.args[1]
local item = mw.wikibase.getEntityObject(arg1)
if item == nil then return end
local flag = updated(item,'P41',frame)
-- local title = mw.wikibase.sitelink(arg1)
if flag ~= nil and flag ~= '' then
return flag
-- return "[[File:" .. flag .. "| thumb | 200px | " .. title .. "]]"
end
end
-- Restituisce l'etichetta dell'elemento rappresentante la bandiera relativa all'elemento dell'articolo
function p.bandiera_titolo(frame)
local item = mw.wikibase.getEntityObject()
if item~=nil then
local claims = item.claims
if claims~=nil and claims.P163~=nil and claims.P163[0]~=nil and claims.P163[1]==nil then
return mw.wikibase.label('Q'..claims.P163[0].mainsnak.datavalue.value['numeric-id'])
end
end
return mw.title.getCurrentTitle().text..' - Bandiera'
end
-- Restituisce la latitudine corrispondente all'articolo.
function p.latitude(frame)
return coords('latitude',frame.args[1])
end
-- Restituisce la longitudine corrispondente all'articolo.
function p.longitude(frame)
return coords('longitude',frame.args[1])
end
function p.disambig(frame)
local item = mw.wikibase.getEntityObject()
if item~=nil and item.descriptions~=nil then
local desc = item.descriptions.en
if desc~=nil and desc.value~=nil and desc.value:lower():find('disambiguation page')~=nil then
return true
end
end
return false
end
function p.instanceof(arg)
arg = tonumber(arg.args[1] or arg)
if item and item.claims and item.claims.P31 then
local claims = item.claims.P31
for index, claim in pairs(claims) do
if claim.mainsnak and claim.mainsnak.datavalue then
local val = claim.mainsnak.datavalue.value
if val and val['numeric-id'] and arg == val['numeric-id'] then
return true
end
end
end
end
return false
end
return p