Module:Template input parse: Difference between revisions
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 = | 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 = | 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 = | 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 = | 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") |