Documentation for this module may be created at Module:IATA and ICAO code/sandbox2/doc
require('strict');
local p = {}
local airportLink
local master = mw.loadData("Module:IATA and ICAO code/data/sandbox2")
local IATA_airport = master.IATA
local ICAO_airport = master.ICAO
local wikilink_label = master.WikiName
function p.main(frame)
local code = mw.text.trim(frame.args[1] or ''):upper()
--exemple of data { 'AAA', 'NTGA', 'Anaa Airport', 'Anaa' },
if 3 ~= #code and 4 ~= #code then --accepts only three-letter codes (IATA) and 4-letter codes (ICAO)
return table.concat ({'<span style=\"font-size:100%; font-style:normal;\" class=\"error\">error: invalid code: ', code, ', must be an ICAO or IATA code</span>'});
end
if IATA_airport[code] then
airportLink= table.concat ({'[[', IATA_airport[code], '|', wikilink_label[code], ']]'}) -- make wikilink from iata code
elseif ICAO_airport[code] then
airportLink = table.concat ({'[[', ICAO_airport[code], '|', wikilink_label[code], ']]'}) -- make wikilink from icao code
else
airportLink = table.concat ({'<span style=\"font-size:100%; font-style:normal;\" class=\"error\">error: data missing for code: <b>', code, '</b></span>'});
end
return airportLink
end
return p