Module:ISO 3166: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
m (ce)
(Don't capitalize input codes for error=input)
Line 67: Line 67:
end
end


local code1 = string.upper(args[1] or "")
local code1 = args[1] or ""; local code2 = args[2] or ""
local code2 = string.upper(args[2] or "")
if string.find(code1,"%-") then
if string.find(code1,"%-") then
code1, code2 = string.match(code1,"^([^%-]*)%-(.*)$")
code1, code2 = string.match(code1,"^([^%-]*)%-(.*)$")
end
end
local orig = code1..(code1 and code2 and "-" or "")..code2
code1 = string.upper(code1); code2 = string.upper(code2)


if --Check if valid code
if --Check if valid code
Line 83: Line 84:
then
then
if code2=="" then
if code2=="" then
return cerror(eot,"Invalid ISO 3166-1 code "..code1,code1)
return cerror(eot,"Invalid ISO 3166-1 code "..code1,orig)
else
else
return cerror(eot,"Invalid ISO 3166-2 code "..code1.."-"..code2,code1.."-"..code2)
return cerror(eot,"Invalid ISO 3166-2 code "..code1.."-"..code2,orig)
end
end
end
end
Line 97: Line 98:
or (data[code1]["displayname"] or data[code1]["name"])
or (data[code1]["displayname"] or data[code1]["name"])
else
else
return cerror(eot,"Unknown ISO 3166-1 code "..code1,code1)
return cerror(eot,"Unknown ISO 3166-1 code "..code1,orig)
end
end
else
else
Line 105: Line 106:
sdata = mw.loadData("Module:ISO 3166/data/"..code1)
sdata = mw.loadData("Module:ISO 3166/data/"..code1)
else
else
return cerror(eot,"Unknown ISO 3166-1 code "..code1,code1.."-"..code2)
return cerror(eot,"Unknown ISO 3166-1 code "..code1,orig)
end
end
if sdata[code2] then
if sdata[code2] then
Line 113: Line 114:
else
else
for _,_ in pairs(sdata) do
for _,_ in pairs(sdata) do
return cerror(eot,"Unknown ISO 3166-2 code "..code1.."-"..code2,code1.."-"..code2)
return cerror(eot,"Unknown ISO 3166-2 code "..code1.."-"..code2,orig)
end
end
return cerror(eot,"No subdivision codes for "..data[code1]["name"],code1.."-"..code2)
return cerror(eot,"No subdivision codes for "..data[code1]["name"],orig)
end
end
end
end
Line 128: Line 129:
end
end
end
end
return cerror(eot,"Unknown ISO 3166-1 code "..code1,code1)
return cerror(eot,"Unknown ISO 3166-1 code "..code1,orig)
end
end