source: dcdatagen.py@ 592:1d9795bde55c

Last change on this file since 592:1d9795bde55c was 443:acbe605bb814, checked in by István Váradi <ivaradi@…>, 12 years ago

Added support for the BAe 146-200 aircraft type (re #182)

  • Property exe set to *
File size: 42.1 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4# Script that generates the delay code data files from a common data base
5#
6# It generates the following files:
7# - src/mlx/gui/dcdata.py: a Python module that contains the data structures
8# describing the delay code information for each aircraft type.
9# - locale/en/mlx_delay.po, local/hu/mlx_delay.po: PO files containing the
10# delay code texts. Those texts are referred to from dcdata.py
11
12#----------------------------------------------------------------------------
13
14import os
15
16#----------------------------------------------------------------------------
17
18# The list of language codes. The strings should be arrays of at least this
19# length
20languageCodes = ["en", "hu"]
21
22#----------------------------------------------------------------------------
23
24# Row type: a caption
25CAPTION = 1
26
27# Row type: an actual delay code
28DELAYCODE = 2
29
30#----------------------------------------------------------------------------
31
32# Prefixes for the generated tables
33tablePrefixes = [ "modern", "ot" ]
34
35# Type groups
36typeGroups = [ ["B736", "B737", "B738", "B738C", "B733", "B734", "B735",
37 "DH8D", "B762", "B763", "CRJ2", "F70", "B462" ],
38 ["DC3", "T134", "T154", "YK40"] ]
39
40#----------------------------------------------------------------------------
41
42# The associated row or column is for the modern fleet
43FOR_MODERN = 1
44
45# The associated row or column is for the old-timer fleet
46FOR_OT = 2
47
48#----------------------------------------------------------------------------
49
50# The complete delay code table
51table = (("info_delay_",
52 "lambda row: row[0].strip()"),
53 [ ["MA", "MA"], ["IATA", "IATA"], ["Code", "Kód"],
54 ["Name", "Név"],["Description", "Leírás" ] ],
55 [ FOR_OT, FOR_MODERN | FOR_OT, FOR_MODERN,
56 FOR_OT | FOR_MODERN, FOR_OT | FOR_MODERN ],
57 [ (CAPTION, FOR_MODERN | FOR_OT,
58 ["Others", "Egyebek"] ),
59 (DELAYCODE, FOR_OT,
60 ["012 ", "01 ", None,
61 ["LATE PARTS OR MATERIALS", "KÉSEI ALKATRÉSZ VAGY ANYAG"],
62 ["Parts and/or materials shipped late from the warehouse",
63 "Kései alkatrész és/vagy anyagkiszállítás a raktárból"]]),
64 (DELAYCODE, FOR_MODERN,
65 [None, "06 ", "OA ",
66 ["NO GATES/STAND AVAILABLE", "NINCS SZABAD KAPU/ÁLLÓHELY"],
67 ["Due to own airline activity",
68 "Saját tevékenység miatt"]]),
69 (DELAYCODE, FOR_MODERN,
70 [None, "09", "SG",
71 ["SCHEDULED GROUND TIME", "ÜTEMEZETT FORDULÓ IDŐ"],
72 ["Planned turnaround time less than declared minimum",
73 "A tervezett forduló idő rövidebb a minimálisnál"]]),
74
75 (CAPTION, FOR_MODERN | FOR_OT,
76 ["Passenger and baggage",
77 "Utas és poggyászkezelés"] ),
78 (DELAYCODE, FOR_MODERN | FOR_OT,
79 ["111", "11", "PD",
80 ["LATE CHECK-IN", "KÉSEI JEGYKEZELÉS"],
81 ["Check-in reopened for late passengers",
82 "Check-in járatzárás után"]]),
83 (DELAYCODE, FOR_MODERN | FOR_OT,
84 ["121", "12", "PL",
85 ["LATE CHECK-IN", "KÉSEI JEGYKEZELÉS"],
86 ["Check-in not completed by flight closure time",
87 "Torlódás az indulási csarnokban"]]),
88 (DELAYCODE, FOR_MODERN | FOR_OT,
89 ["132", "13", "PE",
90 ["CHECK-IN ERROR", "JEGYKEZELÉSI HIBA"],
91 ["Error with passenger or baggage details",
92 "Téves utas és poggyászfelvétel"]]),
93 (DELAYCODE, FOR_MODERN | FOR_OT,
94 ["142", "14", "PO",
95 ["OVERSALES", "TÚLKÖNYVELÉS"],
96 ["Booking errors – not resolved at check-in",
97 "Téves könyvelés, a jegykezelés során nem megoldott"]]),
98 (DELAYCODE, FOR_MODERN,
99 [None, "15", "PH",
100 ["BOARDING", "BESZÁLLÍTÁS"],
101 ["Discrepancies and paging, missing checked in passengers",
102 "Beszállítási rendellenesség, hiányzó utasok"]]),
103 (DELAYCODE, FOR_OT,
104 ["151", "15", None,
105 ["BOARDING", "BESZÁLLÍTÁS"],
106 ["Boarding discrepancies due to the passenger's fault",
107 "Beszállítási rendellenesség utas hibájából"]]),
108 (DELAYCODE, FOR_OT,
109 ["152", "", None,
110 ["BOARDING", "BESZÁLLÍTÁS"],
111 ["Boarding discrepancies due to the tranzit's fault",
112 "Beszállítási rendellenesség tranzit hibájából"]]),
113 (DELAYCODE, FOR_MODERN | FOR_OT,
114 ["161", "16", "PS",
115 ["COMMERCIAL PUBLICITY/\nPASSENGER CONVENIENCE",
116 "NYILVÁNOS FOGADÁS/\nUTASKÉNYELMI SZEMPONTOK"],
117 ["Local decision to delay for VIP or press; \ndelay due to offload of passengers following family bereavement",
118 "Késleltetés helyi döntés alapján reptérzár,\nbetegség/halál, VIP, sajtó, TV miatt"]]),
119 (DELAYCODE, FOR_MODERN,
120 [None, "17", "PC",
121 ["CATERING ORDER", "CATERING MEGRENDELÉS"],
122 ["Late or incorrect order given to supplier",
123 "Kései vagy téves megrendelés leadása a szállítónak"]]),
124 (DELAYCODE, FOR_OT,
125 ["171", "17", None,
126 ["CATERING ORDER", "CATERING MEGRENDELÉS"],
127 ["Late catering order in case of an additional group of people",
128 "Kései catering megrendelés, extra csoport jelentkezése esetén"]]),
129 (DELAYCODE, FOR_OT,
130 ["172", "", None,
131 ["CATERING ORDER", "CATERING MEGRENDELÉS"],
132 ["Late catering order due to negligence",
133 "Kései catering megrendelés gondatlanságból"]]),
134 (DELAYCODE, FOR_MODERN | FOR_OT,
135 ["182", "18", "PD",
136 ["BAGGAGE PROCESSING", "POGGYÁSZKEZELÉS"],
137 ["Late or incorrectly sorted baggage",
138 "Késő vagy tévesen szortírozott poggyász"]]),
139
140 (CAPTION, FOR_MODERN | FOR_OT,
141 ["Cargo and mail",
142 "Áru és postakezelés"] ),
143 (DELAYCODE, FOR_MODERN | FOR_OT,
144 ["212", "21", "CD",
145 ["DOCUMENTATION", "DOKUMENTÁCIÓ"],
146 ["Late or incorrect documentation for booked cargo",
147 "Hibás vagy kései áruokmányolás"]]),
148 (DELAYCODE, FOR_MODERN | FOR_OT,
149 ["221", "22", "CP",
150 ["LATE POSITIONING", "KÉSEI SZÁLLÍTÁS"],
151 ["Late delivery of booked cargo to airport/aircraft",
152 "Szállítmány kései érkezése a repülőtérre"]]),
153 (DELAYCODE, FOR_MODERN | FOR_OT,
154 ["232", "23", "CC",
155 ["LATE ACCEPTANCE", "KÉSEI ÁTVÉTEL"],
156 ["Acceptance of cargo after deadline",
157 "Kereskedelmi döntés, áru és posta járatzárás utáni elfogadása"]]),
158 (DELAYCODE, FOR_MODERN | FOR_OT,
159 ["242", "24", "CI",
160 ["INADEQUATE PACKING", "NEM MEGFELELŐ CSOMAGOLÁS"],
161 ["Repackaging and/or re-labelling of booked cargo",
162 "Az áru újracsomagolása és/vagy -címkézése"]]),
163 (DELAYCODE, FOR_MODERN | FOR_OT,
164 ["252", "25", "CO",
165 ["OVERSALES", "ÁRUTÚLKÖNYVELÉS"],
166 ["Booked load in excess of saleable load capacity\n"
167 "(weight or volume), resulting in reloading or off-load",
168 "A könyvelt terhelés meghaladja az eladható (tömeg\n"
169 "vagy térfogat) kapacitást."]]),
170
171 (CAPTION, FOR_MODERN,
172 ["Mail only",
173 "Postakezelés"] ),
174 (DELAYCODE, FOR_MODERN,
175 [None, "27", "CE",
176 ["DOCUMENTATION, PACKING", "DOKUMENTÁCIÓ, CSOMAGOLÁS"],
177 ["Incomplete and/or inaccurate documentation",
178 "Hiányos és/vagy pontatlan dokumentáció"]]),
179 (DELAYCODE, FOR_MODERN,
180 [None, "28", "CL",
181 ["LATE POSITIONING", "KÉSEI SZÁLLÍTÁS"],
182 ["Late delivery of mail to airport / aircraft",
183 "Posta kései érkezése a repülőtérre"]]),
184 (DELAYCODE, FOR_MODERN,
185 [None, 29, "CA",
186 ["LATE ACCEPTANCE", "KÉSEI ÁTVÉTEL"],
187 ["Acceptance of mail after deadline",
188 "Posta járatázárás utáni átvétele"]]),
189
190 (CAPTION, FOR_MODERN | FOR_OT,
191 ["Aircraft and Ramp Handling",
192 "Repülőgép-kiszolgálás"] ),
193 (DELAYCODE, FOR_MODERN | FOR_OT,
194 ["312", "31", "GD",
195 ["LATE/INACCURATE\nAIRCRAFT DOCUMENTATION",
196 "KÉSEI/PONTATLAN\nFEDÉLZETI OKMÁNYOK"],
197 ["Late or inaccurate mass and balance documentation, \n"
198 "general declaration, passenger manifest",
199 "Fedélzeti okmányok elégtelensége, kései kiállítása"]]),
200 (DELAYCODE, FOR_MODERN,
201 [None, "32", "GL",
202 ["LOADING/UNLOADING", "BE- ÉS KIRAKODÁS"],
203 ["Bulky items, special load, lack of loading staff",
204 "Különleges, súlyos vagy nagy terjedelmű áru,\n"
205 "rakodószemélyzet hiánya miatt"]]),
206 (DELAYCODE, FOR_OT,
207 ["322", "32", None,
208 ["LOADING/UNLOADING", "BE- ÉS KIRAKODÁS"],
209 ["Bulky items, special load",
210 "Különleges, súlyos vagy nagy terjedelmű áru miatt"]]),
211 (DELAYCODE, FOR_OT,
212 ["324", "", None,
213 ["LOADING/UNLOADING", "BE- ÉS KIRAKODÁS"],
214 ["Lack of loading staff",
215 "Rakodószemélyzet hiánya miatt"]]),
216 (DELAYCODE, FOR_MODERN | FOR_OT,
217 ["332", "33", "GE",
218 ["LOADING EQUIPMENT", "RAKODÓBERENDEZÉSEK"],
219 ["Lack of and/or breakdown; lack of operating staff",
220 "Hiányuk vagy üzemképtelenségük, működtető személyzet hiánya"]]),
221 (DELAYCODE, FOR_MODERN | FOR_OT,
222 ["342", "34", "GS",
223 ["SERVICING EQUIPMENT", "KISZOLGÁLÓ ESZKÖZÖK"],
224 ["Lack of and/or breakdown; lack of operating staff",
225 "Hiányuk vagy üzemképtelenségük, működtető személyzet hiánya"]]),
226 (DELAYCODE, FOR_MODERN | FOR_OT,
227 ["352", "34", "GC",
228 ["AIRCRAFT CLEANING", "REPÜLŐGÉP TAKARÍTÁS"],
229 ["Late completion of aircraft cleaning",
230 "Késedelme vagy elhúzódása"]]),
231 (DELAYCODE, FOR_MODERN | FOR_OT,
232 ["362", "36", "GF",
233 ["FUELLING/DEFUELLING", "ÜZEMANYAG TÖLTÉS/LESZÍVÁS"],
234 ["Late delivery of fuel; excludes late request",
235 "Üzemanyag kései szállítása, kivéva, ha az igénylés késett"]]),
236 (DELAYCODE, FOR_MODERN | FOR_OT,
237 ["372", "37", "GB",
238 ["CATERING", "CATERING"],
239 ["Late and/or incomplete delivery; late loading",
240 "Catering kései szállítása, berakása"]]),
241 (DELAYCODE, FOR_MODERN,
242 [None, "38", "GU",
243 ["ULD", "KONTÉNER"],
244 ["Lack of and/or unserviceable ULD's or pallets",
245 "Üzemképes konténerek és raklapok hiánya"]]),
246 (DELAYCODE, FOR_MODERN | FOR_OT,
247 [None, "39", "GT",
248 ["TECHNICAL EQUIPMENT", "BERENDEZÉSEK"],
249 ["Lack and/or breakdown; lack of operating staff;\n"
250 "includes GPU, air start, pushback tug, de-icing",
251 "Hiánya és/vagy elromlása, működtető személyzet hiánya\n"
252 "ide tartozik a földi áramellátó, a hajtómű indító,\n"
253 "a repülőgép-vontató és a jégtelenítő"]]),
254
255 (CAPTION, FOR_MODERN | FOR_OT,
256 ["Technical and Aircraft Equipment",
257 "Műszaki előkészítés"] ),
258 (DELAYCODE, FOR_MODERN,
259 [None, "41", "TD",
260 ["TECHNICAL DEFECTS", "REPÜLŐGÉP HIBÁK"],
261 ["Aircraft defects including items covered by MEL",
262 "Repülőgép hibák, idértve a MEL alá tartozó berendezéseket"]]),
263 (DELAYCODE, FOR_OT,
264 ["411", "41", None,
265 ["TECHNICAL DEFECTS", "REPÜLŐGÉP HIBÁK"],
266 ["Aircraft arrived with defects from abroad",
267 "Külföldről hibával érkezett repülőgép"]]),
268 (DELAYCODE, FOR_OT,
269 ["412", "41", None,
270 ["TECHNICAL DEFECTS", "REPÜLŐGÉP HIBÁK"],
271 ["Departing aircraft with defects",
272 "Hibásan kiállított induló repülőgép"]]),
273 (DELAYCODE, FOR_MODERN,
274 [None, "42", "TM",
275 ["SCHEDULED MAINTENANCE", "TERVEZETT KARBANTARTÁS"],
276 ["Late release from maintenance",
277 "Karbantartás kései befejezése"]]),
278 (DELAYCODE, FOR_OT,
279 ["421", "42", None,
280 ["SCHEDULED MAINTENANCE", "TERVEZETT KARBANTARTÁS"],
281 ["Late release from maintenance due to lack of parts",
282 "Betervezett karbantartás kései befejezése alkatrészhiány miatt"]]),
283 (DELAYCODE, FOR_OT,
284 ["422", "", None,
285 ["SCHEDULED MAINTENANCE", "TERVEZETT KARBANTARTÁS"],
286 ["Late release from maintenance due to bad management\n"
287 "or other internal deficiencies",
288 "Betervezett karbantartás kései befejezése rossz\n"
289 "szervezés vagy egyéb belső hiányosság miatt"]]),
290 (DELAYCODE, FOR_MODERN,
291 [None, "43", "TN",
292 ["NON-SCHEDULED\nMAINTENANCE", "RENDKÍVÜLI KARBANTARTÁS"],
293 ["Special checks and/or additional works\n"
294 "beyond normal maintenance schedule",
295 "A normál karbantartási ütemterven felül elvégzett\n"
296 "speciális ellenőrzések és/vagy egyéb munkák"]]),
297 (DELAYCODE, FOR_OT,
298 ["431", "43", None,
299 ["NON-SCHEDULED\nMAINTENANCE", "RENDKÍVÜLI KARBANTARTÁS"],
300 ["Special checks in an ad-hoc manner",
301 "Különleges ellenőrzések ad hoc jelleggel"]]),
302 (DELAYCODE, FOR_OT,
303 ["432", "", None,
304 ["NON-SCHEDULED\nMAINTENANCE", "RENDKÍVÜLI KARBANTARTÁS"],
305 ["Lack of earlier scheduled checks",
306 "Korábbi tervezett ellenőrzések elmaradása"]]),
307 (DELAYCODE, FOR_MODERN,
308 [None, "44", "TS",
309 ["SPARES AND MAINTENANCE", "PÓTALKATRÉSZEK ÉS\nKARBANTARTÁS"],
310 ["Lack of spares, lack of and/or breakdown of\n"
311 "specialist equipment required for defect rectification\n",
312 "Pótalkatrészek hiánya, a meghibásodások kijavításához\n"
313 "szükséges felszerelés hiánya és/vagy üzemképtelensége"]]),
314 (DELAYCODE, FOR_OT,
315 ["441", "44", None,
316 ["SPARES AND MAINTENANCE", "PÓTALKATRÉSZEK ÉS\nKARBANTARTÁS"],
317 ["Lack of spares and equipment due to external factors",
318 "Repülőgép berendezések és alkatrészek hiánya külső okokból"]]),
319 (DELAYCODE, FOR_OT,
320 ["442", "", None,
321 ["SPARES AND MAINTENANCE", "PÓTALKATRÉSZEK ÉS\nKARBANTARTÁS"],
322 ["Lack of spares and equipment due to failing to order",
323 "Repülőgép berendezések és alkatrészek hiánya\n"
324 "megrendelés hiányából"]]),
325 (DELAYCODE, FOR_MODERN | FOR_OT,
326 ["451", "45", "TA",
327 ["AOG SPARES", "AOG PÓTALKATRÉSZEK"],
328 ["Awaiting AOG spare(s) to be carried to another station",
329 "Alkatrész szállítás más állomásokra, külföldi meghibásodás\n"
330 "(külföldön leragadt saját gép) esetén"]]),
331 (DELAYCODE, FOR_MODERN,
332 [None, "46", "TC",
333 ["AIRCRAFT CHANGE", "REPÜLŐGÉPCSERE"],
334 ["For technical reasons, e.g. a prolonged technical delay",
335 "Műszaki okok, pl. elhúzódó javítás miatt"]]),
336 (DELAYCODE, FOR_OT,
337 ["461", "46", None,
338 ["AIRCRAFT CHANGE", "REPÜLŐGÉPCSERE"],
339 ["If the reason is: 411",
340 "Ha az ok: 411"]]),
341 (DELAYCODE, FOR_OT,
342 ["462", "", None,
343 ["AIRCRAFT CHANGE", "REPÜLŐGÉPCSERE"],
344 ["If the reason is: 412",
345 "Ha az ok: 412"]]),
346
347 (CAPTION, FOR_MODERN | FOR_OT,
348 ["Damage to Aircraft",
349 "Repülőgép sérülése"] ),
350 (DELAYCODE, FOR_MODERN,
351 [None, "51", "DF",
352 ["DAMAGE DURING\nFLIGHT OPERATIONS", "REPÜLÉS KÖZBENI SÉRÜLÉS"],
353 ["Bird or lightning strike, turbulence, heavy or\n"
354 "overweight landing, collisions during taxiing",
355 "Madár, villámcsapás, légörvény, túl erős vagy\n"
356 "túlsúlyos leszállás, ütközés gurulás közben"]]),
357 (DELAYCODE, FOR_OT,
358 ["511", "51", None,
359 ["DAMAGE DURING\nFLIGHT OPERATIONS", "REPÜLÉS KÖZBENI SÉRÜLÉS"],
360 ["Bird or lightning strike, turbulence",
361 "Madár, villámcsapás, turbulencia"]]),
362 (DELAYCODE, FOR_OT,
363 ["512", "", None,
364 ["DAMAGE DURING\nFLIGHT OPERATIONS", "REPÜLÉS KÖZBENI SÉRÜLÉS"],
365 ["Overweight landing, collisions during taxiing",
366 "Leszállási túlsúly, gurulás közbeni ütközés"]]),
367 (DELAYCODE, FOR_MODERN,
368 [None, "52", "DG",
369 ["DAMAGE DURING\nGROUND OPERATIONS", "SÉRÜLÉS A FÖLDÖN"],
370 ["Collisions (other than taxiing), loading/offloading\n"
371 "damage, towing, contamination, extreme weather conditions",
372 "Ütközés (nem gurulás közben), rakodásnál, vontatásnál\n"
373 "szennyeződés vagy szélsőséges időjárás miatt"]]),
374 (DELAYCODE, FOR_OT,
375 ["521", "52", None,
376 ["DAMAGE DURING\nGROUND OPERATIONS", "SÉRÜLÉS A FÖLDÖN"],
377 ["Not during taxiing, extreme weather conditions",
378 "Nem gurulás közben, időjárás következtében"]]),
379 (DELAYCODE, FOR_OT,
380 ["522", "52", None,
381 ["DAMAGE DURING\nGROUND OPERATIONS", "SÉRÜLÉS A FÖLDÖN"],
382 ["Loading/offloading damage, towing other collisions",
383 "Ki- vagy berakodásnál, vontatásnál vagy egyéb ütközések miatt"]]),
384
385 (CAPTION, FOR_MODERN | FOR_OT,
386 ["EDP/Automated Equipment Failure",
387 "Számítógépes rendszerek hibái"] ),
388 (DELAYCODE, FOR_MODERN,
389 [None, "55", "ED",
390 ["DEPARTURE CONTROL", "INDULÁS-IRÁNYÍTÁS"],
391 ["Failure of automated systems, including check-in;\n"
392 "load control systems producing mass and balance",
393 "Az automatizált rendszerek meghibásodása, beleértve a\n",
394 "check-int és a tömeg- és egyensúlyszámítást végző rendszereket"]]),
395 (DELAYCODE, FOR_OT,
396 ["551", "55", None,
397 ["DEPARTURE CONTROL", "INDULÁS-IRÁNYÍTÁS"],
398 ["System failure due to transmission errors",
399 "Rendszerleállás vonalhiba, átviteli hiba miatt"]]),
400 (DELAYCODE, FOR_OT,
401 ["552", "", None,
402 ["DEPARTURE CONTROL", "INDULÁS-IRÁNYÍTÁS"],
403 ["System failure due to operator error",
404 "Rendszerleállás kezelői hiba miatt"]]),
405 (DELAYCODE, FOR_MODERN,
406 [None, "56", "EC",
407 ["CARGO PREPARATION\nDOCUMENTATION", "ÁRUDOKUMENTÁCIÓ"],
408 ["Failure of documentation and/or load control\n"
409 "systems covering cargo"
410 "A dokumentációs és/vagy terhelés irányító rendszerek\n",
411 "árukezeléssel kapcsolatos részének hibája"]]),
412 (DELAYCODE, FOR_OT,
413 ["561", "56", None,
414 ["CARGO PREPARATION\nDOCUMENTATION", "ÁRUDOKUMENTÁCIÓ"],
415 ["System failure due to transmission errors",
416 "Rendszerleállás vonalhiba, átviteli hiba miatt"]]),
417 (DELAYCODE, FOR_OT,
418 ["562", "", None,
419 ["CARGO PREPARATION\nDOCUMENTATION", "ÁRUDOKUMENTÁCIÓ"],
420 ["System failure due to operator error",
421 "Rendszerleállás kezelői hiba miatt"]]),
422 (DELAYCODE, FOR_MODERN | FOR_OT,
423 ["571", "57", "EF",
424 ["FLIGHT PLANS", "REPÜLÉSI TERVEK"],
425 ["Failure of automated flight plan systems",
426 "A repülési terveket kezelő rendszerek meghibásodása"]]),
427 (DELAYCODE, FOR_OT,
428 ["581", "58", "EF",
429 ["", ""],
430 ["",
431 ""]]),
432
433 (CAPTION, FOR_MODERN | FOR_OT,
434 ["Flight Operations and Crewing",
435 "Üzemeltetés"] ),
436 (DELAYCODE, FOR_MODERN | FOR_OT,
437 ["612", "61", "FP",
438 ["FLIGHT PLAN", "REPÜLÉSI TERV"],
439 ["Late completion of or change to flight plan",
440 "Repülési terv kései benyújtása vagy módosítása"]]),
441 (DELAYCODE, FOR_MODERN | FOR_OT,
442 ["622", "62", "FF",
443 ["OPERATIONAL REQUIREMENT", "ÜZEMELTETÉSI IGÉNYEK"],
444 ["Late alteration to fuel or payload",
445 "Üzemanyag mennyiség vagy hasznos teher\n"
446 "kései módosítása"]]),
447 (DELAYCODE, FOR_MODERN | FOR_OT,
448 ["632", "63", "FT",
449 ["LATE CREW BOARDING\nOR DEPARTURE PROCEDURES",
450 "SZEMÉLYZET KÉSEI MEGJELENÉSE\nVAGY ELHÚZÓDÓ INDULÁS"],
451 ["Late flight deck, or entire crew, other than standby;\n"
452 "late completion of flight deck crew checks",
453 "A repülő- vagy a teljes, nem készenléti személyzet\n"
454 "késése, az ellenőrzések elhúzódása"]]),
455 (DELAYCODE, FOR_MODERN | FOR_OT,
456 ["642", "64", "FS",
457 ["FLIGHT DECK\nCREW SHORTAGE", "REPÜLŐSZEMÉLYZET\nLÉTSZÁMHIÁNYA"],
458 ["Sickness, awaiting standby, flight time limitations,\n"
459 "valid visa, health documents, etc.",
460 "Betegség, készenlét, a repülési idő korlátozásai,\n"
461 "érvényes vízum, egészségügyi papírok hiánya, stb."]]),
462 (DELAYCODE, FOR_MODERN | FOR_OT,
463 ["652", "65", "FR",
464 ["FLIGHT DECK CREW\nSPECIAL REQUEST",
465 "SZEMÉLYZET KÜLÖNLEGES IGÉNYE"],
466 ["Requests not within operational requirements",
467 "Az üzemeltetési feltételeken kívül eső igények"]]),
468 (DELAYCODE, FOR_MODERN,
469 [None, "66", "FL",
470 ["LATE CABIN CREW BOARDING\nOR DEPARTURE PROCEDURES",
471 "UTASKÍSÉRŐK KÉSEI MEGJELENÉSE\nVAGY ELHÚZÓDÓ INDULÁS"],
472 ["Late cabin crew other than standby; late completion\n"
473 "of cabin crew checks",
474 "A nem készenléti utaskisérők késése,\n"
475 "az ellenőrzések elhúzódása"]]),
476 (DELAYCODE, FOR_OT,
477 ["662", "66", None,
478 ["OPERATIONAL (GROUND)\nDECISION",
479 "FORGALMI (FÖLDI) DÖNTÉS"],
480 ["Modification of route, merging or cancelling flights\n"
481 "due to business reasons",
482 "Útvonal módosítás, járatösszevonás, járattörlés\n"
483 "kereskedelmi okból"]]),
484 (DELAYCODE, FOR_MODERN | FOR_OT,
485 ["672", "67", "FC",
486 ["CABIN CREW SHORTAGE", "UTASKÍSÉRŐK HIÁNYA"],
487 ["Sickness, awaiting standby, flight time limitations,\n"
488 "valid visa, health documents",
489 "Betegség, készenlét, a repülési idő korlátozásai,\n"
490 "érvényes vízum, egészségügyi papírok hiánya."]]),
491 (DELAYCODE, FOR_MODERN | FOR_OT,
492 ["682", "68", "FA",
493 ["CABIN CREW ERROR OR\nSPECIAL REQUEST",
494 "UTASKÍSÉRŐK HIBÁJA\nVAGY KÜLÖNLEGES IGÉNYE"],
495 ["Requests not within operational requirements",
496 "Az üzemeltetési feltételeken kívül eső igények"]]),
497 (DELAYCODE, FOR_MODERN | FOR_OT,
498 ["692", "69", "FB",
499 ["CAPTAIN REQUEST FOR\nSECURITY CHECK",
500 "KAPITÁNY KÉRÉSÉRE\nBIZTONSÁGI ELLENŐRZÉS"],
501 ["Extraordinary requests outside mandatory requirements",
502 "A kötelező elvárásokon felüli kérés"]]),
503
504
505 (CAPTION, FOR_MODERN | FOR_OT,
506 ["Weather", "Időjárás"] ),
507 (DELAYCODE, FOR_MODERN | FOR_OT,
508 ["711", "71", "WO",
509 ["DEPARTURE STATION", "INDULÓ ÁLLOMÁS"],
510 ["Below operating limits",
511 "Kedvezőtlen/minimum alatti időjárás"]]),
512 (DELAYCODE, FOR_MODERN | FOR_OT,
513 ["721", "72", "WT",
514 ["DESTINATION STATION", "CÉLÁLLOMÁS"],
515 ["Below operating limits",
516 "Kedvezőtlen/minimum alatti időjárás"]]),
517 (DELAYCODE, FOR_MODERN | FOR_OT,
518 ["731", "73", "WR",
519 ["EN-ROUTE OR ALTERNATE", "ÚTVONAL VAGY\nKITÉRŐ REPÜLŐTÉR"],
520 ["Below operating limits",
521 "Kedvezőtlen/minimum alatti időjárás"]]),
522 (DELAYCODE, FOR_MODERN | FOR_OT,
523 ["751", "75", "WS",
524 ["DE-ICING OF AIRCRAFT", "JÉGTELENÍTÉS"],
525 ["Removal of ice and/or snow; excludes\n"
526 "equipment – lack of or breakdown",
527 "Jég és hó eltakarítás, ha az nem a berendezések\n"
528 "hiánya vagy meghibásodása miatt késik"]]),
529 (DELAYCODE, FOR_OT,
530 ["752", "", None,
531 ["DE-ICING OF AIRCRAFT", "JÉGTELENÍTÉS"],
532 ["Bad management, technology or the lack of\n"
533 "de-icing liquid",
534 "Rossz munkaszervezés, rossz technológia vagy a\n"
535 "jégtelenító folyadék hiánya miatt"]]),
536 (DELAYCODE, FOR_MODERN | FOR_OT,
537 ["761", "76", "WS",
538 ["REMOVAL OF SNOW, ICE,\nWATER, AND SAND FROM\nAIRPORT",
539 "HÓ, JÉG, VÍZ ÉS\nHOMOK ELTAKARÍTÁSA\nA REPÜLŐTÉREN"],
540 ["Runway, taxiway conditions",
541 "A futópályák, gurulóutak állapota"]]),
542 (DELAYCODE, FOR_MODERN | FOR_OT,
543 ["771", "77", "WG",
544 ["GROUND HANDLING\nIMPAIRED BY ADVERSE\nWEATHER CONDITIONS",
545 "AZ IDŐJÁRÁS AKADÁLYOZTA\nFÖLDI KISZOLGÁLÁST"],
546 ["High winds, heavy rain, blizzards, monsoons etc.",
547 "Erős szél, heves esőzés, hóvihar, monszun, stb."]]),
548
549 (CAPTION, FOR_MODERN,
550 ["Air Traffic Flow Management Restrictions",
551 "A forgalomáramlás-irányítás követelményei"] ),
552 (DELAYCODE, FOR_MODERN,
553 [None, "81", "AT",
554 ["ATFM DUE TO ATC\nENROUTE DEMAND/CAPACITY",
555 "ÚTVONAL TERHELTSÉG/KAPACITÁS"],
556 ["Standard demand/capacity problems",
557 "A szokványos terheltségi és kapacitás problémák"]]),
558 (DELAYCODE, FOR_MODERN,
559 [None, "82", "AX",
560 ["ATFM DUE TO ATC STAFF/\nEQUIPMENT ENROUTE",
561 "ÚTVONALI IRÁNYÍTÓ\nSZEMÉLYZET/NBERENDEZÉSEK"],
562 ["Reduced capacity caused by industrial\n"
563 "action or staff shortage, equipment failure,\n"
564 "military exercise or extraordinary demand\n"
565 "due to capacity reduction in neighbouring area",
566 "Csökkent kapacitás sztrájk vagy munkaerőhiány,\n"
567 "berendezések meghibásodása, hadgyakorlat vagy\n"
568 "egy szomszédos terület kapacitáscsökkenési miatti\n"
569 "megnövekedett leterheltség"]]),
570 (DELAYCODE, FOR_MODERN,
571 [None, "83", "AE",
572 ["ATFM DUE TO\nRESTRICTION AT\nDESTINATION AIRPORT",
573 "KORLÁTOZÁSOK A\nCÉLREPÜLŐTÉREN"],
574 ["Airport and/or runway closed due to obstruction,\n"
575 "industrial action, staff shortage, political unrest,\n"
576 "noise abatement, night curfew, special flights",
577 "A repülőtér és/vagy a futopálya bezárt akadály,\n"
578 "sztrájk, munkaerőhiány, politikai megmozdulások\n"
579 "zajcsökkentés, kijárási tilalom, kölönleges járatok miatt"]]),
580 (DELAYCODE, FOR_MODERN,
581 [None, "84", "AW",
582 ["ATFM DUE TO WEATHER\n AT DESTINATION",
583 "CÉLREPÜLŐTÉR IDŐJÁRÁSA"],
584 ["", ""]]),
585
586 (CAPTION, FOR_MODERN | FOR_OT,
587 ["Airport and state authorities",
588 "Repülőtéri és állami hatóságok"] ),
589 (DELAYCODE, FOR_MODERN,
590 [None, "85", "AS",
591 ["MANDATORY SECURITY", "BIZTONSÁGI ELLENŐRZÉS" ],
592 ["Passengers, baggage, crew, etc.",
593 "Utasok, poggyász, személyzet, stb."]]),
594 (DELAYCODE, FOR_MODERN,
595 [None, "86", "AG",
596 ["IMMIGRATION, CUSTOMS,\nHEALTH",
597 "HATÁRRENDÉSZET, VÁM,\nEGÉSZSÉGÜGY" ],
598 ["Passengers, crew",
599 "Utasok, személyzet"]]),
600 (DELAYCODE, FOR_MODERN,
601 [None, "87", "AF",
602 ["AIRPORT FACILITIES", "REPÜLŐTÉRI LÉTESÍTMÉNYEK" ],
603 ["Parking stands, ramp congestion, lighting,\n"
604 "buildings, gate limitations etc.",
605 "Állóhelyek, torlódás az előtéren, világítás\n"
606 "épületek, kapuk, stb."]]),
607 (DELAYCODE, FOR_MODERN,
608 [None, "88", "AD",
609 ["RESTRICTIONS AT\nDESTINATION AIRPORT",
610 "KORLÁTOZÁSOK A\nCÉLREPÜLŐTÉREN" ],
611 ["Airport and/or runway closed due to obstruction,\n"
612 "industrial action, staff shortage, political unrest,\n"
613 "noise abatement, night curfew, special flights",
614 "A repülőtér és/vagy a futopálya bezárt akadály,\n"
615 "sztrájk, munkaerőhiány, politikai megmozdulások\n"
616 "zajcsökkentés, kijárási tilalom, kölönleges járatok miatt"]]),
617 (DELAYCODE, FOR_MODERN,
618 [None, "89", "AM",
619 ["RESTRICTIONS AT\nAIRPORT OF DEPARTURE",
620 "KORLÁTOZÁSOK AZ\nINDULÓ REPÜLŐTÉREN" ],
621 ["Including air traffic services, start-up and pushback,\n"
622 "airport and/or runway closed due to obstruction or weather\n"
623 "(restriction due to weather in case of ATFM only) industrial\n"
624 "action, staff shortage, political unrest, noise abatement,\n"
625 "night curfew, special flights",
626 "Beleértve a légiirányítás, a hajtóműindítás és hátratolás\n"
627 "szüneteltetését, a repülőtér és/vagy a futopálya bezárását\n"
628 "akadály vagy időjárás (csak forgalom-áramlási okokból),\n"
629 "sztrájk, munkaerőhiány, politikai megmozdulások\n"
630 "zajcsökkentés, kijárási tilalom, kölönleges járatok miatt"]]),
631
632 (DELAYCODE, FOR_OT,
633 ["811", "81", None,
634 ["ATC", "IRÁNYÍTÁS"],
635 ["E.g. lack of clearances",
636 "Pl. engedélyek hiánya"]]),
637 (DELAYCODE, FOR_OT,
638 ["821", "82", None,
639 ["SECURITY CHECK", "BIZTONSÁGI ELLENŐRZÉS"],
640 ["Passenger, baggage, cargo",
641 "Utas, poggyász, áru"]]),
642 (DELAYCODE, FOR_OT,
643 ["823", "", None,
644 ["BOMB SCARE", "BOMBARIADÓ"],
645 ["", ""]]),
646 (DELAYCODE, FOR_OT,
647 ["831", "83", None,
648 ["CUSTOMS CHECKS", "VÁMHATÓSÁGI ELLENŐRZÉSEK"],
649 ["", ""]]),
650 (DELAYCODE, FOR_OT,
651 ["833", "", None,
652 ["IMMIGRATION CHECKS", "HATÁRRENDÉSZETI\nELLENŐRZÉSEK"],
653 ["", ""]]),
654 (DELAYCODE, FOR_OT,
655 ["835", "", None,
656 ["HEALTHCARE CHECKS", "EGÉSZSÉGÜGYI ELLENŐRZÉSEK"],
657 ["", ""]]),
658 (DELAYCODE, FOR_OT,
659 ["841", "84", None,
660 ["AIRPORT CAPACITY", "REPÜLŐTÉR KAPACITÁS"],
661 ["Inadequate capacity and throughput of the airport,\n"
662 "lack of stands (stairs, etc.), congestion in the\n"
663 "apron and at the exists",
664 "Repülőtér befogadó és áteresztő képességének elégtelensége,\n"
665 "állóhely (lépcső stb.) hiánya, torlódás az előtéren,\n"
666 "kijáratok zsúfoltsága"]]),
667 (DELAYCODE, FOR_OT,
668 ["851", "85", None,
669 ["AIRPORT RESTRICTIONS", "KORLÁTOZÁSOK A REPÜLŐTÉREN"],
670 ["Closed runway, industrial action, political unrest\n"
671 "or noise abatement",
672 "Leszállópályazárlat, sztrájk, politikai esemény\n"
673 "vagy zajvédelem miatt"]]),
674 (DELAYCODE, FOR_OT,
675 ["861", "86", None,
676 ["AIRPORT CLOSED", "TELJES REPTÉRZÁR"],
677 ["E.g. due to security reasons, including all flights",
678 "Pl. biztonsági okok miatt, minden járatot beleértve"]]),
679
680 (CAPTION, FOR_MODERN | FOR_OT,
681 ["Reactionary", "Visszahatások"] ),
682
683 (DELAYCODE, FOR_MODERN | FOR_OT,
684 ["911", "91", "RL",
685 ["LOAD CONNECTION", "CSATLAKOZÁS"],
686 ["Awaiting load from another flight",
687 "Csatlakozásra várás más járatról, utas és áru"]]),
688 (DELAYCODE, FOR_MODERN,
689 [None, "91", "RT",
690 ["THROUGH CHECK-IN ERROR", "JEGYKEZELÉSI HIBA"],
691 ["Passenger or baggage check-in error at originating station",
692 "Utas- vagy a csomagkezelési hiba az induló repülőtéren"]]),
693 (DELAYCODE, FOR_OT,
694 ["921", "91", None,
695 ["CREW LATE ARRIVAL", "SZEMÉLYZET KÉSEI ÉRKEZÉSE"],
696 ["Deck crew arrived later from preceding flight",
697 "Személyzet kései érkezése előző járatról (deck crew)"]]),
698 (DELAYCODE, FOR_MODERN,
699 [None, "93", "RA",
700 ["AIRCRAFT ROTATION", "REPÜLŐGÉP ROTÁCIÓ"],
701 ["Late arrival of aircraft from another flight or previous sector",
702 "Repülőgép kései érkezése előző járatról vagy szektorból"]]),
703 (DELAYCODE, FOR_OT,
704 ["931", "93", None,
705 ["AIRCRAFT LATE", "REPÜLŐGÉP KÉSIK"],
706 ["Late arrival of aircraft from another flight\n"
707 "(not due to company reasons)",
708 "Repülőgép kései érkezése előző járatról\n"
709 "(nem vállalati okok miatt)"]]),
710 (DELAYCODE, FOR_OT,
711 ["932", "", None,
712 ["AIRCRAFT LATE", "REPÜLŐGÉP KÉSIK"],
713 ["Late arrival of aircraft from another flight\n"
714 "(due to company reasons)",
715 "Repülőgép kései érkezése előző járatról\n"
716 "(vállalati okok miatt)"]]),
717 (DELAYCODE, FOR_MODERN | FOR_OT,
718 ["941", "94", "RS",
719 ["CABIN CREW ROTATION", "UTASKÍSÉRŐK KÉSEI ÉRKEZÉSE"],
720 ["Awaiting cabin crew from another flight",
721 "Utaskísérők kései érkezése előző járatról"]]),
722 (DELAYCODE, FOR_MODERN | FOR_OT,
723 ["951", "95", "RC",
724 ["CREW ROTATION", "SZEMÉLYZET KÉSEI ÉRKEZÉSE"],
725 ["Awaiting flight deck, or entire crew, from another flight",
726 "Teljes személyzet kései érkezése előző járatról"]]),
727 (DELAYCODE, FOR_MODERN,
728 [None, "96", "RO",
729 ["OPERATIONS CONTROL", "ÜZEMELTETÉS"],
730 ["Re-routing, diversion, consolidation, aircraft change\n"
731 "for reasons other than technical",
732 "Útvonalváltoztatás, repülőgép cseréje nem műszaki okokból"]]),
733
734 (CAPTION, FOR_MODERN | FOR_OT,
735 ["Miscellaneous", "Egyéb"] ),
736 (DELAYCODE, FOR_OT,
737 ["961", "96", None,
738 ["INDUSTRIAL ACTION\nWITHIN OWN AIRLINE",
739 "SZTRÁJK VÁLLALATON BELÜL"],
740 ["", ""]]),
741 (DELAYCODE, FOR_MODERN,
742 [None, "97", "MI",
743 ["INDUSTRIAL ACTION\n WITHIN OWN AIRLINE",
744 "SZTRÁJK VÁLLALATON BELÜL"],
745 ["", ""]]),
746 (DELAYCODE, FOR_MODERN | FOR_OT,
747 ["981", "98", "MO",
748 ["INDUSTRIAL ACTION\nOUTSIDE OWN AIRLINE",
749 "SZTRÁJK VÁLLALTON KÍVÜL"],
750 ["Industrial action (except Air Traffic Control Services)",
751 "Sztrájk (kivéve a légiirányítást)"]]),
752 (DELAYCODE, FOR_MODERN | FOR_OT,
753 ["991", "99", "MX",
754 ["MISCELLANEOUS", "EGYÉB"],
755 ["No suitable code; explain reason(s) in plain text",
756 "A táblázatban nem szereplő egyéb ok"]])
757 ])
758
759#-------------------------------------------------------------------------------
760
761def generateMsgStr(file, text):
762 """Generate an 'msgstr' entry for the given text."""
763 lines = text.splitlines()
764 numLines = len(lines)
765 if numLines==0:
766 print >> file, "msgstr \"\""
767 elif numLines==1:
768 print >> file, "msgstr \"%s\"" % (lines[0])
769 else:
770 print >> file, "msgstr \"\""
771 for i in range(0, numLines):
772 print >> file, "\"%s%s\"" % (lines[i], "" if i==(numLines-1) else "\\n")
773 print >> file
774
775#-------------------------------------------------------------------------------
776
777def generateFiles(baseDir):
778 """Generate the various files."""
779 dcdata = None
780 poFiles = []
781
782 try:
783 dcdataPath = os.path.join(baseDir, "src", "mlx", "gui", "dcdata.py")
784 dcdata = open(dcdataPath, "wt")
785
786 numLanguages = len(languageCodes)
787 for language in languageCodes:
788 poPath = os.path.join(baseDir, "locale", language, "mlx_delay.po")
789 poFile = open(poPath, "wt")
790 poFiles.append(poFile)
791 print >> poFile, "msgid \"\""
792 print >> poFile, "msgstr \"\""
793 print >> poFile, "\"Content-Type: text/plain; charset=utf-8\\n\""
794 print >> poFile, "\"Content-Transfer-Encoding: 8bit\\n\""
795
796 (baseData, headings, headingFlags, rows) = table
797 (poPrefix, extractor) = baseData
798
799 for i in range(0, len(headings)):
800 heading = headings[i]
801 for j in range(0, numLanguages):
802 poFile = poFiles[j]
803 print >> poFile, "msgid \"%sheading%d\"" % (poPrefix, i)
804 generateMsgStr(poFile, heading[j])
805
806
807 rowIndex = 0
808 for (type, _tableMask, columns) in rows:
809 if type==CAPTION:
810 for i in range(0, numLanguages):
811 poFile = poFiles[i]
812 print >> poFile, "msgid \"%srow%d\"" % (poPrefix, rowIndex)
813 generateMsgStr(poFile, columns[i])
814 elif type==DELAYCODE:
815 columnIndex = 0
816 for column in columns:
817 if isinstance(column, list):
818 for i in range(0, numLanguages):
819 if column[i]:
820 poFile = poFiles[i]
821 print >> poFile, "msgid \"%srow%d_col%d\"" % \
822 (poPrefix, rowIndex, columnIndex)
823 generateMsgStr(poFile, column[i])
824 columnIndex += 1
825 rowIndex += 1
826
827 print >> dcdata, "import mlx.const as const"
828 print >> dcdata, "from mlx.i18n import xstr"
829 print >> dcdata
830 print >> dcdata, "CAPTION = 1"
831 print >> dcdata, "DELAYCODE = 2"
832
833 tableMask = 1
834 for i in range(0, len(tablePrefixes)):
835 print >> dcdata, "_%s_data = (" % (tablePrefixes[i],)
836 print >> dcdata, " %s," % (extractor,)
837 print >> dcdata, " [",
838
839 columnIndexes = []
840 for j in range(0, len(headings)):
841 if ( (headingFlags[j]&tableMask)==tableMask ):
842 if columnIndexes:
843 print >> dcdata, ",",
844 print >> dcdata, "xstr(\"%sheading%d\")" % (poPrefix, j),
845 columnIndexes.append(j)
846
847 print >> dcdata, "],"
848
849 print >> dcdata, " ["
850
851 rowIndex = 0
852 for (type, mask, columns) in rows:
853 if (mask&tableMask)!=tableMask:
854 rowIndex += 1
855 continue
856
857 if type==CAPTION:
858 print >> dcdata, " (CAPTION, xstr(\"%srow%d\"))," % \
859 (poPrefix, rowIndex)
860 elif type==DELAYCODE:
861 print >> dcdata, " (DELAYCODE, ["
862 for j in columnIndexes:
863 column = columns[j]
864 if j!=columnIndexes[0]:
865 print >> dcdata, ","
866 if isinstance(column, list):
867 if column[0]:
868 print >> dcdata, " xstr(\"%srow%d_col%d\")" % \
869 (poPrefix, rowIndex, j),
870 else:
871 print >> dcdata, " \"\"",
872 else:
873 print >> dcdata, " \"%s\"" % \
874 (column,),
875 print >> dcdata, "] ),"
876 rowIndex += 1
877
878 print >> dcdata, " ]"
879
880 print >> dcdata, ")"
881 print >> dcdata
882
883 tableMask <<= 1
884
885 print >> dcdata, "def getTable(aircraftType):"
886 first = True
887 for i in range(0, len(tablePrefixes)):
888 tablePrefix = tablePrefixes[i]
889 for typeSuffix in typeGroups[i]:
890 print >> dcdata, " %s aircraftType==const.AIRCRAFT_%s:" % \
891 ("if" if first else "elif", typeSuffix)
892 print >> dcdata, " return _%s_data" % (tablePrefix,)
893 first = False
894
895 print >> dcdata, " else:"
896 print >> dcdata, " return None"
897 finally:
898 for poFile in poFiles:
899 poFile.close()
900 if dcdata is not None:
901 dcdata.close()
902
903#-------------------------------------------------------------------------------
904
905if __name__ == "__main__":
906 generateFiles(os.path.dirname(__file__))
Note: See TracBrowser for help on using the repository browser.