Module:AeroWikiListTools: Difference between revisions
From Aeronautica Official Wiki
More actions
Sqwishyish (talk | contribs) m Added the ability for the string 'None' not to be a link |
Sqwishyish (talk | contribs) m added comments |
||
Line 1: | Line 1: | ||
-- Created by @Sqwishyish on discord | |||
-- Contact me for any issues | |||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
Line 12: | Line 15: | ||
p.split_list = makeInvokeFunc('_split_list') | p.split_list = makeInvokeFunc('_split_list') | ||
p._split_list = function (args) | p._split_list = function (args) | ||
local input_string = args[1] | -- Get arguments passed from function call | ||
local template = args[2] | local input_string = args[1] -- List string to modify | ||
local missing_string = args[3] | local template = args[2] -- String to put at each {split} | ||
local missing_string = args[3] -- String to return when either the template or the input is nil | |||
local new_string = '' | local new_string = '' | ||
-- Check if input string exists | |||
if input_string == nil or template == nil then | if input_string == nil or template == nil then | ||
return missing_string | return missing_string | ||
end | end | ||
-- Check if input string is not 'None' | |||
if input_string == 'None' then | if input_string == 'None' then | ||
return 'None' | return 'None' | ||
end | end | ||
-- Split string by commas and append the template at each {split} point | |||
for split in string.gmatch(input_string , '([^,]+)') do | for split in string.gmatch(input_string , '([^,]+)') do | ||
new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$')) .. ' ' | new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$')) .. ' ' | ||
end | end | ||
-- Remove comma on end of list | |||
if template:sub(-1) == ',' then | if template:sub(-1) == ',' then | ||
new_string = new_string:sub(1, -3) | new_string = new_string:sub(1, -3) | ||
Line 35: | Line 43: | ||
end | end | ||
-- Return the new string to the list | |||
return new_string | return new_string | ||
end | end | ||
return p | return p |