| Contenidos de Wikipedia en español bajo licencia CC BY-SA 4.0 ⇔ Mapas de OpenStreetMap bajo licencia ODbL |
Diferencia entre revisiones de «Módulo:Bandera»
De Hispanopedia
Sin resumen de edición |
m 27 revisiones importadas |
||
| (No se muestran 29 ediciones intermedias de 8 usuarios) | |||
| Línea 3: | Línea 3: | ||
function getDeclaraciones(entidad) | function getDeclaraciones(entidad) | ||
local declaraciones = wikidata.getDeclaraciones(entidad) | |||
mw.log(declaraciones) | |||
return declaraciones | |||
end | end | ||
function getFlags(entidad) | function getFlags(entidad) | ||
local opciones = {propiedad = 'P41', rangoMayor = 'sí'} | local opciones = {propiedad = 'P41', rangoMayor = 'sí', entityId = entidad} | ||
return wikidata.getPropiedad(opciones | return wikidata.getPropiedad(opciones) | ||
end | end | ||
function getName(entidad, nombre) | function getName(entidad, nombre) | ||
local opciones = { | local opciones = {etiqueta = nombre or 'null'} | ||
local nombre = wikidata.formatoIdEntidad(entidad, opciones) | |||
return nombre | |||
end | end | ||
function p. | function p.banderaLua(entityId, tamanno, opcion, nombre) | ||
local cadenaBandera | |||
local bandera = getFlags( | local bandera = getFlags(entityId) | ||
if tamanno == nil or tamanno == '' then | |||
local opcion = | tamanno = '20px' | ||
local nombre = getName( | end | ||
local opcion = opcion or '' | |||
if bandera then | local nombre = getName(entityId, nombre) | ||
cadenaBandera = '[[Archivo:'..bandera..'|' .. tamanno .. ']]' | |||
if bandera and bandera ~= '' then | |||
cadenaBandera = '[[Archivo:'..bandera..'|' .. tamanno .. '| border]]' | |||
end | end | ||
if opcion == 'solo bandera' and | if opcion == 'solo bandera' and cadenaBandera then | ||
return cadenaBandera | return cadenaBandera -- Solo devolverá la bandera | ||
elseif | 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 | ||
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 | 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> ', '') -- 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