Módulo:Bandera

De Biquipedia

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

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

function getDeclaracions(entidat)
    local declaracions =  wikidata.getDeclaracions(entidat)
    mw.log(declaracions)
    return declaracions
end

function getFlags(entidat)
    local opcions = {propiedat = 'P41', rangoMayor = 'sí', entityId = entidat}
    return wikidata.getPropiedat(opcions)

end

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

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

    if bandera and bandera ~= '' then
        cadenaBandera = '[[Imachen:'..bandera..'|' .. grandaria .. '| border]]'
    end
    if opcion == 'nomás bandera' and  cadenaBandera then 
        return cadenaBandera -- Nomás tornará a bandera
    elseif cadenaBandera then   
        return cadenaBandera .." " .. nombre -- Torna a bandera chunto a o nombre
    else -- No i hai valor en a propiedat P41 
        return nombre -- Nomás torna o 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 pa eliminar as banderas d'o texto
function p.sinBandera(texto)
	local resultau
	
 	if texto then
 		resultau = texto
 		resultau = resultau:gsub('<span class="flagicon">.-</span>&nbsp;', '')  -- Eixemplo {{ESP}} -->  
 								-- --> {{co|{{{2|Espanya}}}}}<span class="flagicon">[[Imachen:Flag of Spain.svg|border|link=|{{{3|20px}}}]]</span>&nbsp;[[Espanya|{{{1|Espanya}}}]]
 								-- --> {{co|Espanya}}[[Espanya|Espanya]]
 		resultau = resultau:gsub('<span class="flagicon">.-</span>[%s]*', '')
 		resultau = resultau:gsub('%[%[[aA][rR][cC][hH][iI][vV][oO]:.-%]%][%s]*', '')
 		resultau = resultau:gsub('%[%[[fF][iI][lL][eE]:.-%]%][%s]*', '')
 		mw.logObject(resultau)
 		return resultau
 	end
end

function p.clamadaDendeUnaPlantilla(frame)
	local args = frame.args
	
	local funcion = p[args[1]]

	return funcion(args[2], args[3], args[4])
end

return p