local p =
local ISO_3166 = require('Module:ISO 3166')
local function ltrim(s) return s:match '^%s*(.*)'end
local function split_with_comma(str) local fields = for field in str:gmatch('([^,]+)') do fields[#fields + 1] = ltrim(field) end return fieldsend
local function to_ISO_3166(country) for i = 1, #country do local shortname = ISO_3166.name if shortname ~= "" then country[i] = shortname end end return countryend
local function to_str(arr) local cstring = "" for i = 1, #arr - 1 do cstring = cstring .. ltrim(arr[i]) .. ", " end cstring = cstring .. ltrim(arr[#arr]) return cstringend
function p.countrynames(frame) -- local test = frame.args[1] .. ", " .. frame.args.property -- return test
-- change comma list to array Countryarray = split_with_comma(frame.args[1])
-- put each array entry through Module:ISO 3166. If the result is null, keep original entry to_ISO_3166(Countryarray)
-- change array back to comma string Commastring = to_str(Countryarray)
return Commastringend
return p