Diferencia entre revisiones de «Módulo:Ficha de elemento químico»

Contenido eliminado Contenido añadido
mSin resumen de edición
Reusando código desde Módulo:Wikidata
Línea 22:
local Datos = mw.loadData('Módulo:Ficha de elemento químico/datos')
local Nombre = argumentos['nombre'] or ModuloWikidata.obtenerEtiquetaWikidata(Entidad) or ModuloPaginas.nombrePagina({desambiguar='sí'})
local Simbolo = argumentos['símbolo'] or propiedad('P246', {['linkback'] = 'no'})
local Numero = argumentos['número'] or propiedad('P1086', {['linkback'] = 'no'})
Línea 95:
if not Anterior then
AN = mw.wikibase.getEntity(elementoTabla(InstanciaDe, 'qualifiers', 'P155', 1, 'datavalue', 'value', 'id'))
if AN then Anterior = ModuloWikidata.obtenerEtiquetaWikidata(AN) end
end
if not Posterior then
POS = mw.wikibase.getEntity(elementoTabla(InstanciaDe, 'qualifiers', 'P156', 1, 'datavalue', 'value', 'id'))
if POS then Posterior = ModuloWikidata.obtenerEtiquetaWikidata(POS) end
end
 
Línea 134:
Pie = argumentos['pie'] or ''
else
Imagen, Pie = ModuloWikidata.obtenerImagenWikidata(Entidad, 'P18')
end
 
Línea 188:
}
return ModuloFicha.infobox(TablaFicha)
end
 
function obtenerEtiquetaWikidata(entidad)
if not entidad then entidad = Entidad end
if entidad and entidad.labels and entidad.labels.es then
return entidad.labels.es.value
end
end
 
function obtenerImagenWikidata(propiedad)
local imagen, valorImagen, piesDeImagen, k, pieDeImagen
if not Entidad then
return
end
-- Obtener la primera imagen en Wikidata de la persona
local imagen = elementoTabla(Entidad, 'claims', propiedad,1)
if not imagen then
return
end
valorImagen = elementoTabla(imagen, 'mainsnak','datavalue','value')
piesDeImagen = elementoTabla(imagen, 'qualifiers','P2096')
-- Encontrar el pie en español
if piesDeImagen then
for k,pieDeImagen in pairs(piesDeImagen) do
if pieDeImagen.datavalue.value.language == 'es' then
return valorImagen, pieDeImagen.datavalue.value.text
end
end
end
-- Si no hay pie de imagen en español comprueba si hay fecha especificada para la imagen
piesDeImagen = elementoTabla(imagen, 'qualifiers', 'P585')
if piesDeImagen and piesDeImagen[1] then
return valorImagen, nombre .. ' en ' .. require('Módulo:Wikidata/Fecha').FormateaFechaHora(piesDeImagen[1].datavalue.value, {['formatoFecha']='año',['enlace']='no'})
end
-- Sin pie de imagen en español
return valorImagen
end
 
function propiedad(idPropiedad,opciones)
ifreturn ModuloWikidata.propiedad(Entidad, and Entidad.claims and Entidad.claims[idPropiedad], thenopciones)
if not opciones then
opciones = {['linkback']='sí'}
end
opciones.entityId = Entidad.id
opciones.propiedad = idPropiedad
valorPropiedad = ModuloWikidata.getPropiedad(opciones,Entidad.claims[idPropiedad])
return valorPropiedad
end
end