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