Módulu:Bandera

De Wikipedia

Usu[editar la fonte]

Esti módulu val pa llograr la bandera d'una entidá dada, o en casu de nun esistir recuperaríase solo'l nome enllazáu, o de nun esistir un artículu solo'l nome. Dispón d'una única función bandera. Como parámetru obligatoriu hai que-y dar l'id de la entidá.

Parámetros[editar la fonte]

{{#invoke:Bandera|bandera|<id entidá>[|<tamañu>|<opciones>|nome=<nome d'etiqueta>]}}
1

Identificador de la entidá en Wikidata

2

Tamañu de la bandera en px.

3 - Opciones

Si se da'l valor solo bandera nun apaecerá'l nome.

nome

nome qu'apaecerá como etiqueta.

Exemplos[editar la fonte]

  • {{#invoke:Bandera|bandera|Q3934}}Error de Lua na llinia 12: attempt to call field 'getPropiedad' (a nil value).
  • {{#invoke:Bandera|bandera|Q3934||solo bandera}}Error de Lua na llinia 12: attempt to call field 'getPropiedad' (a nil value).
  • {{#invoke:Bandera|bandera|Q3934|100px|solo bandera}}Error de Lua na llinia 12: attempt to call field 'getPropiedad' (a nil value).
  • {{#invoke:Bandera|bandera|Q3934|20px|nome = Asturies}}Error de Lua na llinia 12: attempt to call field 'getPropiedad' (a nil value).
  • {{#invoke:Bandera|bandera|Q17}}Error de Lua na llinia 12: attempt to call field 'getPropiedad' (a nil value).
  • {{#invoke:Bandera|bandera|Q1}}Error de Lua na llinia 12: attempt to call field 'getPropiedad' (a nil value).

local p = {}
local wikidata = require('Módulu:Wikidata')

function getDeclaraciones(entidad)
    local declaraciones =  wikidata.getDeclaraciones(entidad)
    mw.log(declaraciones)
    return declaraciones
end

function getFlags(entidad)
    local opciones = {propiedad = 'P41', rangoMayor = 'sí', entityId = entidad}
    return wikidata.getPropiedad(opciones)

end

function getName(entidad, nombre)
    local opciones = {etiqueta = nombre or 'null'}
    local nombre = wikidata.formatoIdEntidad(entidad, opciones)
    return nombre
end 

function p.banderaLua(entityId, tamanno, opcion, nombre)
	local cadenaBandera
    local bandera = getFlags(entityId)
    if tamanno == nil or tamanno == '' then
    	tamanno = '20px'
    end
    local opcion = opcion or ''
    local nombre = getName(entityId, nombre)

    if bandera and bandera ~= '' then
        cadenaBandera = '[[Ficheru:'..bandera..'|' .. tamanno .. '| border]]'
    end
    if opcion == 'solo bandera' and  cadenaBandera then 
        return cadenaBandera -- Solo devolverá la bandera
    elseif cadenaBandera then   
        return cadenaBandera .." " .. nombre -- Devuelve la bandera xunto al nome
    else -- Nun hai valor na propiedá P41 
        return nombre -- Solo devuelve'l nome
    end

end

function p.bandera(frame)
    return p.banderaLua(frame.args[1], frame.args[2],frame.args[3] , frame.args.nombre)
end

-- Función pa desaniciar les banderes del testu
function p.sinBandera(texto)
 	if texto then 
 		return texto:gsub('<span class="flagicon">.*</span>', '')
 	end
 end

return p