Cambios

Ir a la navegación Ir a la búsqueda
1917 bytes añadidos ,  hace 7 años
permitir llamar a las funciones desde una plantilla; eliminar imágnes al usar la función sinBandera
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:gsub('<span class="flagicon">.*</span>', '')
resultado = resultado:gsub('%[%[[aA][rR][cC][hH][iI][vV][oO]:.*%]%][%s]*', '')
resultado = resultado:gsub('%[%[[fF][iI][lL][eE]:.*%]%][%s]*', '')

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
Usuario anónimo

Menú de navegación