Diferencia entre revisiones de «Módulo:Bandera»

De Hispanopedia
Sin resumen de edición
Supremo (discusión | contribs.)
m 27 revisiones importadas
 
(No se muestran 17 ediciones intermedias de 8 usuarios)
Línea 19: Línea 19:
     return nombre
     return nombre
end  
end  
function p.banderaLua(entityId, tamanno, opcion, nombre)
function p.banderaLua(entityId, tamanno, opcion, nombre)
local cadenaBandera
local cadenaBandera
     local bandera = getFlags(entityId)
     local bandera = getFlags(entityId)
     if tamanno == nil then
     if tamanno == nil or tamanno == '' then
     tamanno = '20px'
     tamanno = '20px'
     end
     end
     local opcion = frame.args[3] or ''
     local opcion = opcion or ''
     local nombre = getName(entityId, nombre)
     local nombre = getName(entityId, nombre)


Línea 31: Línea 32:
         cadenaBandera = '[[Archivo:'..bandera..'|' .. tamanno .. '| border]]'
         cadenaBandera = '[[Archivo:'..bandera..'|' .. tamanno .. '| border]]'
     end
     end
     if opcion == 'solo bandera' and  cadenaBandera then
     if opcion == 'solo bandera' and  cadenaBandera then  
         return cadenaBandera
         return cadenaBandera -- Solo devolverá la bandera
     elseif cadenaBandera then   
     elseif cadenaBandera then   
         return cadenaBandera .." " .. nombre
         return cadenaBandera .." " .. nombre -- Devuelve la bandera junto al nombre
     else
     else -- No ha valor en la propiedad P41
         return nombre
         return nombre -- Solo devuelve el nombre
     end
     end


Línea 42: Línea 43:


function p.bandera(frame)
function p.bandera(frame)
     return banderaLua(frame.args[1], frame.args[2],frame.args[3] , frame.args.nombre)
     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>&nbsp;', '')  -- Ejemplo {{ESP}} --> 
-- --> {{co|{{{2|España}}}}}<span class="flagicon">[[Archivo:Flag of Spain.svg|border|link=|{{{3|20px}}}]]</span>&nbsp;[[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
end


return p
return p

Revisión actual - 10:49 25 oct 2023

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

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>&nbsp;', '')  -- Ejemplo {{ESP}} -->  
 								-- --> {{co|{{{2|España}}}}}<span class="flagicon">[[Archivo:Flag of Spain.svg|border|link=|{{{3|20px}}}]]</span>&nbsp;[[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