Module:Template input parse: Difference between revisions

Ganaram inukshuk (talk | contribs)
Merged fuzzy-ratio-parsing back into original function, so it's enabled by passing TRUE for the last arg
ArrowHead294 (talk | contribs)
mNo edit summary
Line 8: Line 8:
function p.parse_entries(unparsed, delimiter)
function p.parse_entries(unparsed, delimiter)
local parsed = {}
local parsed = {}
local delimiter = delimiter or ';'
local delimiter = delimiter or ";"
local expr = '([^' .. delimiter .. ']+)'
local expr = "([^" .. delimiter .. "]+)"
for entry in string.gmatch(unparsed, expr) do
for entry in string.gmatch(unparsed, expr) do
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
Line 23: Line 23:
function p.parse_numeric_entries(unparsed, delimiter)
function p.parse_numeric_entries(unparsed, delimiter)
local parsed = {}
local parsed = {}
local delimiter = delimiter or ';'
local delimiter = delimiter or ";"
local expr = '([^' .. delimiter .. ']+)'
local expr = "([^" .. delimiter .. "]+)"
for entry in string.gmatch(unparsed, expr) do
for entry in string.gmatch(unparsed, expr) do
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
Line 37: Line 37:
function p.parse_pair(unparsed, delimiter)
function p.parse_pair(unparsed, delimiter)
local parsed = {}
local parsed = {}
local delimiter = delimiter or ':'
local delimiter = delimiter or ":"
local expr = '([^' .. delimiter .. ']+)'
local expr = "([^" .. delimiter .. "]+)"
for entry in string.gmatch(unparsed, expr) do
for entry in string.gmatch(unparsed, expr) do
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
Line 56: Line 56:
function p.parse_numeric_pair(unparsed, delimiter, is_fuzzy)
function p.parse_numeric_pair(unparsed, delimiter, is_fuzzy)
local parsed = {}
local parsed = {}
local delimiter = delimiter or ':'
local delimiter = delimiter or ":"
local is_fuzzy = is_fuzzy or false
local is_fuzzy = is_fuzzy or false
local expr = '([^' .. delimiter .. ']+)'
local expr = "([^" .. delimiter .. "]+)"
for entry in string.gmatch(unparsed, expr) do
for entry in string.gmatch(unparsed, expr) do
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")
local trimmed = entry:gsub("^%s*(.-)%s*$", "%1")