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 = |
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, |
return cerror(eot,"Invalid ISO 3166-1 code "..code1,orig) |
||
else |
else |
||
return cerror(eot,"Invalid ISO 3166-2 code "..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, |
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, |
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, |
return cerror(eot,"Unknown ISO 3166-2 code "..code1.."-"..code2,orig) |
||
end |
end |
||
return cerror(eot,"No subdivision codes for "..data[code1]["name"], |
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, |
return cerror(eot,"Unknown ISO 3166-1 code "..code1,orig) |
||
end |
end |
||