Más idiomas
Más acciones
Funciones
Bandera
Esta función vale para obtener la bandera de una entidad dada o en caso de no existir solo se recuperaría el nombre enlazado o de no existir un artículo solo el nombre. Dispone de una única función bandera
.
Como parámetro obligatorio hay que aportar el id de la entidad.
Parámetros
{{#invoke:Bandera|bandera|<id entidad>[|<tamaño>|<opciones>|nombre=<nombre de etiqueta>]}}
- 1
Identificador de la entidad en Wikidata
- 2
Tamaño de la bandera en px.
- 3 - Opciones
Si se da el valor solo bandera
no aparecerá el nombre.
- nombre
nombre que aparecerá como etiqueta.
- Ejemplos
{{#invoke:Bandera|bandera|Q4018}}
→ Error de Lua en package.lua en la línea 80: module 'Módulo:Wikidata' not found.{{#invoke:Bandera|bandera|Q4018||solo bandera}}
→ Error de Lua en package.lua en la línea 80: module 'Módulo:Wikidata' not found.{{#invoke:Bandera|bandera|Q29|100px|solo bandera}}
→ Error de Lua en package.lua en la línea 80: module 'Módulo:Wikidata' not found.{{#invoke:Bandera|bandera|Q4018|20px|nombre = Comunidad Foral de Navarra}}
→ Error de Lua en package.lua en la línea 80: module 'Módulo:Wikidata' not found.{{#invoke:Bandera|bandera|Q17}}
→ Error de Lua en package.lua en la línea 80: module 'Módulo:Wikidata' not found.{{#invoke:Bandera|bandera|Q1}}
→ Error de Lua en package.lua en la línea 80: module 'Módulo:Wikidata' not found.
sinBandera
La función sinBandera elimina del texto la bandera.
- Ejemplo de uso en un módulo LUA
local sinBandera = require('Módulo:Bandera').sinBandera
textoCorregido = sinBandera(texto)
local p = {}
local wikidata = require('Módulo: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 = '[[Archivo:'..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 junto al nombre
else -- No ha valor en la propiedad P41
return nombre -- Solo devuelve el nombre
end
end
function p.bandera(frame)
return p.banderaLua(frame.args[1], frame.args[2],frame.args[3] , frame.args.nombre)
end
-- Función para eliminar las banderas del texto
function p.sinBandera(texto)
local resultado
if texto then
resultado = texto
resultado = resultado:gsub('<span class="flagicon">.-</span> ', '') -- Ejemplo {{ESP}} -->
-- --> {{co|{{{2|España}}}}}<span class="flagicon">[[Archivo:Flag of Spain.svg|border|link=|{{{3|20px}}}]]</span> [[España|{{{1|España}}}]]
-- --> {{co|España}}[[España|España]]
resultado = resultado:gsub('<span class="flagicon">.-</span>[%s]*', '')
resultado = resultado:gsub('%[%[[aA][rR][cC][hH][iI][vV][oO]:.-%]%][%s]*', '')
resultado = resultado:gsub('%[%[[fF][iI][lL][eE]:.-%]%][%s]*', '')
mw.logObject(resultado)
return resultado
end
end
function p.llamadaDesdeUnaPlantilla(frame)
local args = frame.args
local funcion = p[args[1]]
return funcion(args[2], args[3], args[4])
end
return p