Módulo:Ficha de codificación de caracteres
Ir a la navegación
Ir a la búsqueda
Uso
local p = {} local ModuloArgumentos = require('Módulo:Argumentos') local ModuloFicha = require('Módulo:Ficha') local ModuloWikidata = require('Module:Wikidata') local ModuloPaginas = require('Módulo:Páginas') local elementoTabla = require('Módulo:Tablas').elemento local argumentos local Entidad function p.Ficha(frame) argumentos = ModuloArgumentos.obtenerArgumentosConValor(frame) Entidad = mw.wikibase.getEntityObject(argumentos.id) or {} local Imagen = argumentos['imagen'] local Pie if Imagen then Pie = argumentos['pie'] else Imagen, Pie = obtenerImagenWikidata() end local Titulo = argumentos['título'] or obtenerEtiquetaWikidata() or ModuloPaginas.nombrePagina({desambiguar='sí'}) local MIME = argumentos['mime'] or propiedad('P1163') or "" local Alias = argumentos['alias'] or propiedad('P742') or "" local Estandar = argumentos['estándar'] or propiedad('P361') or "" local Idioma = argumentos['idioma'] or propiedad('P407') or "" local Estado = argumentos['estado'] or "" local Anterior = argumentos['anterior'] or propiedad('P155') or "" local Siguiente = argumentos['siguiente'] or propiedad('P156') or "" local FichaCodigo = { entidad = argumentos.id, titulo = Titulo, clasetitulo = 'informática', estilotitulo = 'background-color: #ccccff; color:#000;', estiloseccion = 'background-color: #ccccff; color:#000;', estiloetiqueta = 'background-color: #ddddff; width:35%', estilodatos = 'width:65%', imagen = Imagen, ['tamañoimagen'] = Tamano, pie = Pie, estilopie = 'font-size:88%', {'[[MIME Type]]', MIME}, {'Alias', Alias}, {'Estándar', Estandar}, {'Idioma', Idioma}, {'Estado', Estado}, {'Anterior', Anterior}, {'Siguiente', Siguiente}, } return ModuloFicha.infobox(FichaCodigo) end function obtenerEtiquetaWikidata() if Entidad and Entidad.labels and Entidad.labels.es then return Entidad.labels.es.value end end function obtenerImagenWikidata() 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','P18',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 -- Sin pie de imagen en español return valorImagen end function propiedad(idPropiedad,opciones) if Entidad and Entidad.claims and Entidad.claims[idPropiedad] then 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 return p