Módulo:Wikidata/Formato premio

De Hispanopedia

La documentación para este módulo puede ser creada en Módulo:Wikidata/Formato premio/doc

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