Módulu:Bandera
Usu
editarEsti 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{{#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{{#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