Módulo:Wikidata/Formato premio

De Wikipedia, la enciclopedia libre
Icono de documentación de módulo Documentación del módulo[ver] [editar] [historial] [purgar]

A continuación se muestra la documentación transcluida desde la subpágina /doc. [salta a la caja de código]


Uso

En este módulo se definen algunos de los tipos de datos de la plantilla {{propiedad}} o equivalentemente de las funciones permitidas para el parámetro valor-función del módulo:Wikidata.

premio

uso desde la plantilla propiedad
{{Propiedad|id. de la propiedad|tipo de dato=premio|parámetros opcionales}}

Tipo de dato para la propiedad «premio recibido (P166)». Se muestra el premio eliminando los literales de la forma " a ...", " a la ..." o " en la categoría ...".

Para la lista de los parámetros posibles véase la plantilla {{propiedad}} o el módulo:Wikidata si se accede desde un módulo Lua.

Pueden verse ejemplos de utilización en la página de pruebas del módulo.



Esta documentación está transcluida desde Módulo:Wikidata/Formato premio/doc.
Por favor, añade las categorías en la subpágina de documentación y los interwikis en Wikidata. Subpáginas de este módulo.

local p = {}
local moduloWikidataFormatos = require('Módulo:Wikidata/Formatos')
	local obtenerDatos = moduloWikidataFormatos.obtenerDatos
	local enlazar      = moduloWikidataFormatos.enlazar

local noMostrarPremio={
	['Q20899118'] = true, -- NPR Top 100 Science Fiction and Fantasy Books
}

-- Formato para un premio individual de una obra sin incluir los calificativos

function p.formatoPremio(valor, opciones)
	local enlace, etiqueta, idEntidad = obtenerDatos(valor)
	
	if idEntidad and noMostrarPremio[idEntidad] then 
		return
	end
	
    -- Eliminar de la etiqueta la categoría del premio
        
    if etiqueta then
      	etiqueta = etiqueta:match('^(.*)%s+a%s.*$')  or  -- Ejemplo: Premio Nébula a la mejor novela corta  --> Premio Nébula
    	           etiqueta:match('^(.*)%s+al%s.*$') or  -- Ejemplo: Premio Hugo al mejor relato --> Premio Hugo
    	           etiqueta:match('^(.*) en la categoría') or  -- Ejemplo: Premio Prometheus en la categoría Hall of Fame --> Premio Prometheus
       	           etiqueta
    end

    return enlazar(enlace, etiqueta, idEntidad, opciones)
end

-- Alias para simplificar el uso desde la plantilla propiedad, por ejemplo:
--  {{Propiedad|P166|tipo de dato=premio}}
--
p['premio'] 		= p.formatoPremio

return p