Cambios

Ir a la navegación Ir a la búsqueda
1964 bytes añadidos ,  hace 7 años
m
sin resumen de edición
local z = {}

function z.obtenerArgumentos(frame)
if frame.args[1] then
return frame.args
end

return frame:getParent().args
end

function z.obtenerArgumentosConValor(frame)
if frame == mw.getCurrentFrame() then
argumentos = frame:getParent().args
else
argumentos = frame.args or frame
end

return require('Módulo:Tablas').copiarElementosConValor(argumentos)
end

-- Obtiene los argumentos con valores de la plantilla en minúsculas y con las
-- tildes removidas, en caso de que las tenga de forma que sea más sencillo
-- trabajar con las distintas variantes en los módulos.
--
-- Nota: En caso de que haya parámetros duplicados tras la normalización solo
-- se mantendrá el último valor procesado por la función.
--
-- Parámetros de entrada:
-- frame: El marco utilizado por el módulo
--
-- Parámetros de salida:
-- argumentosNormalizados: los argumentos con valor y nombre normalizado
-- argumentosDuplicados: si la plantilla tiene varias veces el mismo
-- argumento tras la normalización o no
function z.obtenerArgumentosConValorNormalizados(frame)
local argumentos = z.obtenerArgumentosConValor(frame)
local argumentosNormalizados = {}
local nombreNormalizado
local argumentosDuplicados = false

for nombre, valor in pairs(argumentos) do

nombreNormalizado = nombre

nombreNormalizado = mw.ustring.lower( nombreNormalizado )
nombreNormalizado = string.gsub(nombreNormalizado, "[á]", "a")
nombreNormalizado = string.gsub(nombreNormalizado, "[é]", "e")
nombreNormalizado = string.gsub(nombreNormalizado, "[í]", "i")
nombreNormalizado = string.gsub(nombreNormalizado, "[ó]", "o")
nombreNormalizado = string.gsub(nombreNormalizado, "[úü]", "u")

if argumentosNormalizados[nombreNormalizado] then
argumentosDuplicados = true
end
argumentosNormalizados[nombreNormalizado] = valor
end

return argumentosNormalizados, argumentosDuplicados
end
return z
Usuario anónimo

Menú de navegación