Módulo:Wikidata/Formato premio

De borradopedia
Ir a la navegación Ir a la búsqueda

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

<section begin=Wikidata_premio_texto />

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

Tipo de dato para la propiedad «Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (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. <section end=Wikidata_premio_texto />


Error de secuencia de órdenes: Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".

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