1 | # The mapping of ICAO codes to airport names
|
---|
2 | # -*- coding: utf-8 -*-
|
---|
3 |
|
---|
4 | #-----------------------------------------------------------------------------
|
---|
5 |
|
---|
6 | airportNames = {
|
---|
7 | "VTBS" : ("Bangkok", "Suvarnabhumi"),
|
---|
8 | "KJFK" : ("New York", "J. F. Kennedy"),
|
---|
9 | "CYYZ" : ("Toronto", "Lester B. Pearson"),
|
---|
10 | "UUEE" : ("Moscow", "Sheremetevo"),
|
---|
11 | "UKBB" : ("Kiev", "Borispol"),
|
---|
12 | "UKOO" : ("Odessa", None),
|
---|
13 | "USSS" : ("Yekaterinburg", "Koltsovo"),
|
---|
14 | "LTBA" : ("Istanbul", "Atatürk"),
|
---|
15 | "LLBG" : ("Tel-Aviv", "Ben Gurion"),
|
---|
16 | "HECA" : ("Cairo", None),
|
---|
17 | "LCLK" : ("Larnaca", None),
|
---|
18 | "LGAV" : ("Athens", "Eleftherios Venizelos"),
|
---|
19 | "OLBA" : ("Beirut", "Rafic Hariri"),
|
---|
20 | "OSDI" : ("Damascus", None),
|
---|
21 | "LGTS" : ("Thessaloniki", "Makedonia"),
|
---|
22 | "LIRF" : ("Rome", "Fiumicino"),
|
---|
23 | "LIPZ" : ("Venezia", "Tessera"),
|
---|
24 | "LATI" : ("Tirana", "Rinas"),
|
---|
25 | "LWSK" : ("Skopje", None),
|
---|
26 | "LQSA" : ("Sarajevo", "Butmir"),
|
---|
27 | "BKPR" : ("Pristina", None),
|
---|
28 | "LDZA" : ("Zagreb", "Pleso"),
|
---|
29 | "LDSP" : ("Split", "Kastela"),
|
---|
30 | "LDDU" : ("Dubrovnik", "Cilipi"),
|
---|
31 | "LYPG" : ("Podgorica", "Titograd"),
|
---|
32 | "EDDS" : ("Stuttgart Echterdingen", None),
|
---|
33 | "EDDF" : ("Frankfurt", "Main"),
|
---|
34 | "EDDM" : ("Munich", "Franz-Josef Strauss"),
|
---|
35 | "EDDH" : ("Hamburg", None),
|
---|
36 | "LFPG" : ("Paris", "Charles de Gaulle"),
|
---|
37 | "LFLL" : ("Lyon", "Satolas"),
|
---|
38 | "LSGG" : ("Geneva", "Cointrin"),
|
---|
39 | "LEMD" : ("Madrid", "Barajas"),
|
---|
40 | "EBBR" : ("Brussels", "Zaventem"),
|
---|
41 | "EGKK" : ("London", "Gatwick"),
|
---|
42 | "EIDW" : ("Dublin", "Collinstown"),
|
---|
43 | "EICK" : ("Cork", None),
|
---|
44 | "EHAM" : ("Amsterdam", "Schiphol"),
|
---|
45 | "EDDT" : ("Berlin", "Tegel"),
|
---|
46 | "EFHK" : ("Helsinki", "Vantaa"),
|
---|
47 | "EKCH" : ("Copenhagen", "Kastrup"),
|
---|
48 | "ESSA" : ("Stockholm", "Arlanda"),
|
---|
49 | "ESGG" : ("Gothenburg", None),
|
---|
50 | "LKPR" : ("Prague", "Ruznye"),
|
---|
51 | "LBSF" : ("Sofia", "Vrhazdebna"),
|
---|
52 | "EPWA" : ("Warsaw", "Okecie"),
|
---|
53 | "LROP" : ("Bucharest", "Otopeni"),
|
---|
54 | "LRTR" : ("Timisoara", None),
|
---|
55 | "LRCK" : ("Constanta", None),
|
---|
56 | "LRTM" : ("Tirgu Mures", "Vidrasau"),
|
---|
57 | "LHBP" : ("Budapest", "Ferihegy"),
|
---|
58 | "LHDC" : ("Debrecen", None)
|
---|
59 | }
|
---|
60 |
|
---|
61 | #-----------------------------------------------------------------------------
|
---|
62 |
|
---|
63 | def getWelcomeMessage(icao):
|
---|
64 | """Get the welcome message for the airport with the given ICAO code."""
|
---|
65 | message = "Welcome to "
|
---|
66 | if icao in airportNames:
|
---|
67 | (town, airportName) = airportNames[icao]
|
---|
68 | message += town if airportName is None else (airportName + " Airport")
|
---|
69 | else:
|
---|
70 | message += icao
|
---|
71 | message += "."
|
---|
72 | return message
|
---|
73 |
|
---|
74 | #-----------------------------------------------------------------------------
|
---|
75 |
|
---|
76 | if __name__ == "__main__":
|
---|
77 | for (town, airport) in airportNames.itervalues():
|
---|
78 | print town, airport
|
---|
79 | print getWelcomeMessage("LIRF")
|
---|
80 | print getWelcomeMessage("LHDC")
|
---|
81 | print getWelcomeMessage("LIRN")
|
---|
82 |
|
---|
83 | #-----------------------------------------------------------------------------
|
---|