Ignore:
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • MLXMANIFEST

    r890 r900  
    44library/fnmatch.pyc     3414    4d50000f78e903598af06ef1c5cfb3ef
    55library/multiprocessing/managers.pyc    36290   ca35d24d87467303c5e94a0de51e9593
    6 library/gtk/_gtk.pyc    549     fe4816d7315373754a9c2a78c1cb910d
     6library/gtk/_gtk.pyc    549     ccdd4be123a0909d44052f30869b38d8
    77library/encodings/cp858.pyc     7591    02054a0b8e91b9758826eb70cddf096f
    88library/encodings/cp1254.pyc    2678    17ff2ac86f90886d5c73ed789f0499f3
    99library/encodings/unicode_internal.pyc  2022    1e902113491e0c334b44deb0c8940e01
    10 library/lxml/etree.pyc  555     4cedd864ad5b158d44762634ecc002c9
     10library/lxml/etree.pyc  555     8f2c530f47011cee9a5f642ef3df8d71
    1111library/encodings/gbk.pyc       1622    71c1e7fe25116114241829a60e57c5f4
    1212sounds/speed.mp3        26331   3d64da0eea9f48fa73be82d385354bf6
     
    1717doc/manual/hu/pirepViewer.png   26835   267e4325e550ed14ed22f86a2c7e8e9d
    1818doc/manual/hu/prefsGeneral.png  25601   a33faad4d576b080ae0c040f5a1a5404
    19 library/mlx/gui/statusbar.pyc   4812    b6448dd0f6077bc70527ee0c39c330e1
     19library/mlx/gui/statusbar.pyc   4812    490a882b53429fa18f317e146f0c70c0
    2020doc/manual/hu/mainWindow.png    29545   489097bf9f0d72ba0cb2661c0dfe881b
    2121library/lxml.etree.pyd  2977792 d9f46391d4eeb719304a07b1ddaa72d9
     
    3232library/WINHTTP.dll     354304  d29f2889baa10e19ad9ff70c8d5ecf50
    3333locales/ca.pak  7484    6490335e2837ffefb296ff1fabb50372
    34 library/mlx/gui/timetable.pyc   27480   9ef0c7c9b50df08d7c1bc75d14dac825
     34library/mlx/gui/timetable.pyc   27480   92ebb8630c797b4235b54ecf205ed344
    3535library/encodings/cp720.pyc     2736    a0f8bdcf6477a00166d2a38b1ba3ce7c
    3636library/xml/sax/_exceptions.pyc 5829    9f1abe12a091b6808b131a0b4e179b5a
     
    4141library/encodings/big5hkscs.pyc 1670    0ff54e70f21b5e4a359d3779367cba85
    4242library/encodings/utf_8.pyc     1806    4b8dee0284ea2f55c4142fcde7463524
    43 locale/hu/LC_MESSAGES/mlx.mo    90385   b4cc05ef2d0e7afff8adea144d3533c3
     43locale/hu/LC_MESSAGES/mlx.mo    90718   d3f06c29211edf37a14045d9345e4d0b
    4444library/encodings/mac_roman.pyc 2716    4b4745eccfcb77860b70b374ac07fbcc
    4545library/py_compile.pyc  6292    425da7ee065aa158fd274946204a4a77
     
    5252library/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo       21895   a932ead453f04de30e348c1689a4d896
    5353locales/fil.pak 7790    38cdea149d120d8e9a8a0b0a90ac5dfd
    54 library/mlx/gui/dcdata.pyc      19919   9ea5897e2b27e087ff36f16c77a09487
     54library/mlx/gui/dcdata.pyc      19919   a37ad72d994b8a523da07130970c2f0b
    5555library/encodings/iso8859_5.pyc 2679    58a290e94b0266ef8ff4ee52da00e257
    5656library/encodings/iso2022_kr.pyc        1683    ef9549932514d2deda6c4676e5e5f1db
    5757library/libglib-2.0-0.dll       1242929 18e88b04da123bf05b07ff60a4e96654
    5858library/base64.pyc      10528   39abec9c60dc011d3c763f443f9b1a11
    59 library/mlx/gui/bugreport.pyc   4602    99c9fc4da49ca115a5bd140a8405b87d
     59library/mlx/gui/bugreport.pyc   4602    a32ca4d644f316b3d120ae3dc2597eba
    6060doc/manual/en/flightSelection.png       32104   68b94da285951d84fd15ec40d809751a
    6161library/multiprocessing/pool.pyc        19766   3a4d776f05a59e31df0218fcf52b9a6d
     
    100100library/encodings/koi8_r.pyc    2700    fff1b35002b9e938b7ea6fd0fbe824ae
    101101sounds/737taxi.mp3      157362  846c403e5cb660be53c8b6da16b68234
    102 library/mlx/const.pyc   7504    d661c08870a0056cb2b4bab198de8c34
     102library/mlx/const.pyc   7781    ca412d026807bd7532a49e6f40d63833
    103103python27.dll    2206720 f8f39495ed4a813e8f3049a4b9f5cff4
    104104locales/th.pak  13637   7262d0f5e1877212a45a1ef1ccc4c777
    105 library/mlx/gui/cef.pyc 13567   b11c3bd18b59392a8a828d8ae904d2d1
     105library/mlx/gui/cef.pyc 13567   4e4065185decfc2a23900a45b112a896
    106106library/encodings/punycode.pyc  7570    335ff94e207934ae64e6f5fc07a5cacc
    107107library/encodings/shift_jisx0213.pyc    1710    1ec0383aafb1dcadb5f9b6afff16eb7f
     
    118118library/email/header.pyc        13339   f741f4c3543a278fec30f4d9bdd0f859
    119119library/share/locale/hu/LC_MESSAGES/atk10.mo    8465    e3f3466da367215aad971d7b0394229d
    120 library/select.pyc      543     64632c3b8962883ab952e483a722d0f9
     120library/select.pyc      543     49de99d20755a51a448c47694aabf924
    121121library/encodings/uu_codec.pyc  4646    5282a5fcb676851224d2924aa3e48a9e
    122122library/ConfigParser.pyc        23857   1d17020dd0000ce0f73de812effa152f
     
    129129icudt.dll       9956864 5434e18b933e03f274d8da59fda4c676
    130130doc/manual/hu/simbriefSetup.png 32497   b287886107be21b6695897085b218fd4
    131 library/mlx/soundsched.pyc      9185    5d9c36cbf8971ad0e91adff5f9c4ab54
    132 library/mlx/logger.pyc  13109   78ca8e8f2b0b51e228a32fcca6f50fb7
     131library/mlx/soundsched.pyc      9185    4211730170fddb82b5683ce1849234ee
     132library/mlx/logger.pyc  13109   a70c061d36cf6b4e540f5610133466d3
    133133library/email/charset.pyc       13200   771aee9802116e673d08b44bc0450f99
    134134library/xplra.pyc       32012   50a1d9f19c0cc88783d264909ad1c678
     
    158158doc/manual/hu/flightSelection.png       32828   68562091faef606b1247e5d3a40c488e
    159159library/win32pipe.pyd   24064   de374eded459293b2a7eb8ed8fb38eaa
    160 library/win32pipe.pyc   552     481d263642893856d1c992f484f380aa
     160library/win32pipe.pyc   552     70f5476d7ed103cb22b901a81e2d62fc
    161161doc/manual/hu/cruise.png        27925   f7045d9150a756f487e3ae3d08b4c1a5
    162162library/encodings/iso2022_jp_2004.pyc   1723    66376e788f3819e781897268c1100986
    163163library/cefpython3.cefpython_py27.pyd   968192  58161b73feae974f560d2c9f416adf3b
    164164library/encodings/cp866.pyc     8103    f36418dcf93b17b3ced63bd544f44159
    165 library/gio/_gio.pyc    549     ce68d42eef1532c1ec170b997a7fdebd
     165library/gio/_gio.pyc    549     63dbf557dc3df483aa6a0bae37a2d472
    166166library/encodings/cp437.pyc     7874    63f1278c0a66129c6fb4f504d6b61b66
    167167doc/manual/hu/prefsSounds.png   22667   452c396c2bda9684bf052c98fd7870d1
    168 library/mlx/gates.pyc   7002    5c82c4c4dd0918bf385497549f14767f
     168library/mlx/gates.pyc   7002    20aca1eaf3de122eda51883b5b518f6f
    169169library/mimetools.pyc   7837    c9accd6ef795bf71c90630be0161cadc
    170170doc/manual/en/pirepLoaded.png   9887    e27a7c87e134944787e29874c455380d
     
    175175doc/manual/hu/acarsTab.png      305091  489953210460410f2ec9d281b7ad6868
    176176library/encodings/utf_32_be.pyc 1747    3e8c9ef8145de502320202b1688fd2ee
    177 library/cefpython3/cefpython_py27.pyc   600     22895e1b76e628cfe1126552651999d4
     177library/cefpython3/cefpython_py27.pyc   600     542ae3754fe3029d9fffe5ac7f9bd374
    178178library/encodings/mac_romanian.pyc      2756    a3b2a0892236bc80c8efe8940e33339e
    179179library/multiprocessing/connection.pyc  13385   c86567e4a002e8beca2301d1110b887c
    180 library/_ctypes.pyc     546     ea964009a19c93c9b7e6d5a0952d740b
     180library/_ctypes.pyc     546     21922d74db381df8923d751a6ccef8eb
    181181Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest  1856    a1328f4f5ae0580ce72b0717893c9072
    182182library/encodings/iso8859_2.pyc 2678    da65f42e1be5bec97161e8c1cc4f0fb7
     
    191191library/quopri.pyc      6352    87c42d94f753dd4c8a761cfa79453bb8
    192192library/htmlentitydefs.pyc      6347    814dc784fdb3d998dccee4c3f4c0394f
    193 library/mlx/gui/monitor.pyc     13015   506dbdd642eea450bb2cd7bb0c397caa
     193library/mlx/gui/monitor.pyc     13015   adcdde553f6ef5956faa6856489c6b0b
    194194library/encodings/latin_1.pyc   2111    52427573ccbfd06220b67d5a9dd1376e
    195 library/mlx/update.pyc  17632   a3cb8734519c01a74e628f78c1eac5ce
     195library/mlx/update.pyc  17632   e27fbb1e86d28e99f493c83ae1dae57d
    196196library/bdb.pyc 17708   9a8fdcaa65f595c842689247847879d9
    197197library/unittest/case.pyc       37758   1d2235e74c246b562c5c00ddf73c621a
    198198library/subprocess.pyc  38648   c9f749db06dfc9fb32079de51d6efd01
    199 library/mlx/acft.pyc    42418   ab4080e74ed57c8608a662d38dd9f5c2
     199library/mlx/acft.pyc    43831   4bb1ff76aca2130bed92b093a1749116
    200200library/gobject._gobject.pyd    113152  3d05dd191361f83aa247b62c700fa04e
    201201doc/manual/hu/checklistEditor.png       27863   8c750892a52dc10ca654a9d0b2765358
    202202library/bisect.pyc      2971    ad8ce3e265b404ed3971b842106f8179
    203 library/mlx/gui/acars.pyc       1054    f1ac7c30434908114c49343eca6dfd32
     203library/mlx/gui/acars.pyc       1054    6467ef4c361a74b4c2a289cba55761c3
    204204library/gtk/_lazyutils.pyc      2772    93f9aa41ad4223106d99340cd539a566
    205 library/mlx/mlx.pyc     3027    6acdd392d3f3095bac42108db71a7f63
     205library/mlx/mlx.pyc     3027    062ba9eaf26e78de62ed20f4ab91cc79
    206206library/encodings/cp864.pyc     7999    ca90afae086cb6b8f69b8419cc3cd1cb
    207207library/pyexpat.pyd     152576  5a82e9ec95005aca6130751e5b961cc3
    208 library/pyexpat.pyc     546     c0175ad3bb5cd86249bf1cef3e3a560f
     208library/pyexpat.pyc     546     331b065065412d197efb50068f1b11b0
    209209library/unittest/loader.pyc     10884   591a785be23fba35582ce33bdd3d7acd
    210210library/ftplib.pyc      32043   5a1925388a0874e459aed6891f4cf0c1
     
    214214library/unittest/suite.pyc      9838    bf2c79bd4a6b6032f1ea53fa4908748f
    215215library/encodings/mac_arabic.pyc        7824    820deef79b02e1f7e52eb18e9be655bf
    216 library/mlx/gui/prefs.pyc       28139   1e2b4ccb44bc09700582f3e3cd2e44fa
     216library/mlx/gui/prefs.pyc       27921   2d3de746b632866251dccb5b1eb63f23
    217217library/encodings/tis_620.pyc   2748    5969b4db4f967b11ae7992cdfbf5890e
    218218library/encodings/cp855.pyc     8071    0a4259ba854c24186f2ce61d85883b4a
     
    224224sounds/ding.wav 80856   18e639792d3767436ac6955eb60e4f54
    225225doc/manual/en/simbriefResult.png        32136   c55b3f649ca19cbbef738feaee26d639
    226 library/mlx/checks.pyc  62721   18a21eeaf1e699d8928877ea074e04fa
     226library/mlx/checks.pyc  62721   3af0d317e94f7220e1ea224d43cfa4d8
    227227doc/manual/en/student.png       27531   5cc3fbe19909e31ecf82b764d17a6766
    228228doc/manual/en/pirepViewer.png   25098   7c545e70b995ac0f9fcae93fe5d0e899
     
    230230library/gobject/constants.pyc   1957    2e9cdc605e7c449ef4fc23f56128acec
    231231doc/manual/hu/calloutsEditor.png        16026   fede870894a85e5d21ca16a026aa6a98
    232 library/mlx/xplane.pyc  67128   8e7c7ec2b3b222768fe77c418db1002e
     232library/mlx/xplane.pyc  67548   6ede9cf8fe1651636b499142797b4f6e
    233233library/ssl.pyc 13785   d90c880699ecbedb3182f556b9733868
    234234library/tempfile.pyc    18526   e2cc2d63c29e15f20ee9325e790643a3
     
    256256locales/pt-PT.pak       7270    731a9c54bd2331f411a5a2976d1f3622
    257257library/encodings/iso8859_10.pyc        2693    5e6cc8f721486ddbc1c99da285e13191
    258 library/mlx/config.pyc  33266   a7d9c1089d89b2eae06344b4eb62b515
    259 library/atk.pyc 534     696d668cfdc42d4ddb0973dec25e43af
     258library/mlx/config.pyc  32932   2c787fa0d592ff65e6e890e45e7f4731
     259library/atk.pyc 534     ce47437fcb9187bb74723200c98838fa
    260260library/gio._gio.pyd    263168  acb8c95fdc391079bebdf7d8685b0dbc
    261261library/encodings/cp861.pyc     7868    c97a8970ce4d9f40cbafbea6576fbdca
     
    269269library/zlib1.dll       100352  d90dad5eea33a178bac56fff2847d4c2
    270270locales/en-GB.pak       6364    2a92f4fc905c2743129ccbcdf80d443a
    271 library/mlx/gui/delaycodes.pyc  13323   5d2e3c3064fdfc49404973b22a629130
     271library/mlx/gui/delaycodes.pyc  13323   67bd0762b1242b4dae043546155187c2
    272272library/encodings/raw_unicode_escape.pyc        2048    8138045029da04bf45204ab756d1bcd4
    273273sounds/TOD.mp3  174707  92176d53d948fbfebd08c011b063179a
     
    284284locales/pt-BR.pak       7211    d0542b9b325ea58be590d021aeb7333d
    285285library/libexpat-1.dll  143096  701659d3689bf4a8265b669b7d774255
    286 library/mlx/gui/info.pyc        7374    a4e2d54b4f7acf65b29ff20393e5d2c8
     286library/mlx/gui/info.pyc        7374    7431efd8a70bb0b8f485f8ec758576a5
    287287library/encodings/iso8859_6.pyc 2723    c8f9aa14a6a2ebf05d977317114bc65d
    288288library/libpango-1.0-0.dll      333729  5a14efd93ee27cfe960220fe4a904911
    289 library/mlx/gui/gui.pyc 64506   1ef86c765984abf3a3ef6f4f39a12b36
     289library/mlx/gui/gui.pyc 64705   83d22920b5e0b2433d399ba0c91e09f9
    290290library/stat.pyc        2503    d3b6dc7a54e705219f04d0be75a212de
    291291locales/ru.pak  10392   1b66f03dd656a2433ce643d0259fca6f
     
    293293locales/sr.pak  10790   fd63b700458a187aca8dde86c160a059
    294294doc/manual/hu/registration.png  31260   877f209cc012ce6b3335368276babcc6
    295 library/gobject/_gobject.pyc    573     9c208b5682178410d144235e4e0dc566
     295library/gobject/_gobject.pyc    573     5692421648da2f24e72d0dd23cddd9c2
    296296libcef.dll      38585344        4dfb8a77f35c41bdbe8469877d4af853
    297297library/encodings/utf_7.pyc     1747    2beeb059236527197d6c640396476ce8
     
    306306doc/manual/hu/monitorWindow.png 21499   c8296e51e14588ac5b037b4832161dfc
    307307library/pangocairo.pyd  17920   5fc69a7d29a6d3127710c64de440daa4
    308 library/pangocairo.pyc  555     28af83fc19cded4fc98ec58484387a76
     308library/pangocairo.pyc  555     c9b1bfcfc52d98e171d8aef36d276bb1
    309309library/zipfile.pyc     37345   568c6ee7e0404625f47248340afb4524
    310310locales/it.pak  7188    10ae10d8bfcffbfa1160574134e14edb
    311311doc/manual/en/acarsTab.png      198944  3ec162b7e6b077ab62d673c335929fb3
    312 library/mlx/rpccommon.pyc       3956    5ff33f58a6bee5a753dde2421cf938b2
     312library/mlx/rpccommon.pyc       3956    e6db84bdf8a987dc7c35294673ecfb1d
    313313doc/manual/hu/helpTab.png       29126   88f236f84b1b520c60653f4665fd10e2
    314314library/sre.pyc 499     92bb633daa0bab6550ec0e3677673b5b
    315315library/tokenize.pyc    13565   354d02cd79df187a28c1851a1e3bad96
    316316library/win32con.pyc    140797  84d2d064066cfbcc219230f7e9c6e0b0
    317 library/mlx/gui/flight.pyc      182603  683c1e711e9614a6bdb7e6fcb840989e
     317library/mlx/gui/flight.pyc      183734  9e63c9c96171c2df91ce7e36f98da1e9
    318318library/xmlrpclib.pyc   40724   d4f819f9199ea21236a74c967e335c43
    319319library/lib/gtk-2.0/2.10.0/engines/libwimp.dll  97984   a5bbbe46e1363aba9020a76f2d58e9d6
     
    328328locales/fi.pak  7098    70c7e2fb26c7abf09cb0f9972fb6c93a
    329329doc/manual/en/monitorWindow.png 20886   42e08d10c758e21209c4c021f391dee7
    330 library/_hashlib.pyc    549     1165d901defce2ba71812217e87d6f91
     330library/_hashlib.pyc    549     9a5d5dc1c1e02eddb61723be3c81d39b
    331331library/copy.pyc        11674   30d1745c5e38ab170f8a0486fbebf305
    332332locales/et.pak  6856    18a0a857e46c28b7f1cd8ff639a24aec
    333333library/unittest/result.pyc     7444    aefbb3cc79c0ff17787ce84faed7f5e8
    334 library/mlx/gui/__init__.pyc    107     22f268cac1c5be2f3a058810b6caead3
    335 library/mlx/pirep.pyc   11862   8590e401f3d6a84091913b6e4d390318
     334library/mlx/gui/__init__.pyc    107     3494fc6a671a7b8a9dc72ea93948ae52
     335library/mlx/pirep.pyc   11862   77ce612c43f8356f164f2d6dbba54071
    336336library/json/scanner.pyc        2169    e19ee185b7c79ab5cc433b39fcd33faa
    337337library/traceback.pyc   11223   50ace5c2c6c040a923082442da94cd78
    338 library/mlx/flight.pyc  21369   025c6f2183b19adb20e604a1cda0366b
     338library/mlx/flight.pyc  21771   942d1b3cc815f1775d7829e7d5986d6d
    339339library/urllib2.pyc     43566   7eb57ea0dcd1086d1d9073a5cefb0903
    340340library/encodings/mac_farsi.pyc 2659    df751a61510129a25f7a43ae3aace4f7
    341341library/encodings/iso2022_jp_3.pyc      1699    ee1c3aa11bbe19eeb4deafa238563133
    342342library/cefpython3/__init__.pyc 556     38a652a0209e49e323bee4dd54a018af
    343 library/mlx/common.pyc  444     81a72ceff029e4be88de252226d0f2b4
     343library/mlx/common.pyc  444     6befa042b541293b90ca3b7caf281e6d
    344344doc/manual/en/simbriefSetup.png 30414   9788762f9a23ffd71a66cbd90a23f13b
    345345library/ctypes/__init__.pyc     18846   2bd183962453ae93d6887b303d3fd338
    346 library/mlx/acars.pyc   2352    9396f366c1d2958204ceadf4e5b4eb7a
     346library/mlx/acars.pyc   2352    91494421b7612bb60560eecc985d5aab
    347347library/encodings/cp865.pyc     7868    7d40a7ba053ac23339218be8799e5397
    348348locales/bn.pak  14431   f402d363b8a07649b6787b745434daf7
    349349sounds/taps.mp3 16614   d4a019c7e9342ae329aee6932d6a43c3
    350350library/markupbase.pyc  9010    b33ff430e9b1adba3d540b5394ff289a
    351 library/cairo/_cairo.pyc        561     5f0ebf0e8ff791c32ffb875ada20d672
     351library/cairo/_cairo.pyc        561     01892a78d8cdbfcfc71fb98ea17f8f08
    352352locales/te.pak  16110   c3af85e60b78273a93970cf8805ded04
    353353library/lxml/cssselect.pyc      3861    2e693f0c25ab04b1d130646cddd4e081
     
    359359library/winerror.pyc    112982  4986a8f2df094dddedd12c9fddf4966d
    360360library/encodings/cp775.pyc     7888    25bf7dd514dff294aa02d5119399b2b7
    361 library/mlx/fsuipc.pyc  75964   7ccb88cac4ea838538647400b3b2a0ae
     361library/mlx/fsuipc.pyc  75964   d5345164190acf18b2bb8a291415ff55
    362362library/xml/sax/__init__.pyc    3579    c78222ad1fd4f3dbdea06666fe74e84e
    363363doc/manual/en/connect.png       29728   191520526caf0fa58efcd97d597c9247
     
    365365library/libgdk-win32-2.0-0.dll  931390  a2b46daac3d4140efdf86429f7aea476
    366366doc/manual/hu/pendingFlights.png        20945   2ce8d177aea079b21582704e38c68371
    367 library/mlx/gui/common.pyc      20876   45e8cc2a1c41ba7091e7845fc51fbd0a
     367library/mlx/gui/common.pyc      20998   c4a79324478fadd4754707e1cca0b38a
    368368library/dummy_threading.pyc     1265    5ab5c897721aeb346b5bccb84066c5bd
    369369doc/manual/hu/index.html        67085   0008be8482043be070db2c2c4f2c3046
     
    379379library/encodings/iso8859_16.pyc        2695    85e819a29dec2b601ce978dcd5a040fc
    380380sounds/cpt_takeoff.mp3  8255    254edcf79b8b3752d1a7c191c57f615a
    381 library/bz2.pyc 534     7b01882aa537ced5392bfd6a05c92bee
     381library/bz2.pyc 534     3fc098070fd71f141def09bf7e420ab1
    382382library/email/utils.pyc 8840    a7be428df6fddee6121cfce55382d1f8
    383383doc/manual/en/prefsGeneral.png  25633   a5ef76b874f4ad5384b519a11bdf9c47
    384384library/encodings/iso2022_jp_2.pyc      1699    4b917caa926e5779176612409c66be39
    385385library/_ssl.pyd        720896  90826a140137efd0d806038828e16f8e
    386 library/pango.pyc       540     1c0e90e57415e1e74c0b496cce34a7f5
     386library/pango.pyc       540     21cec340f978ffee00f37a02d495d61b
    387387doc/manual/en/flightBooking.png 37170   266bd9c93de3a1449b51854a05b98366
    388388library/glib/__init__.pyc       187     d44c8c2772b263a36726ac0dcfc04b42
     
    390390library/libgobject-2.0-0.dll    341594  356d697647a480562c4e2e921b13f8ed
    391391doc/manual/hu/acceptedFlights.png       43527   6c52b86433a227efed500f27769aef97
    392 mlxupdate.exe   19456   9b19d587509c61dcc52b91a871d0f675
     392mlxupdate.exe   19456   1d7bb33aea239a041e1ae6a9ea67445a
    393393library/email/errors.pyc        3229    cdb78ab237e195ad69f059128bc03b1d
    394394library/linecache.pyc   3091    666e6f81b0ea9a7637f8068493f738d5
     
    401401library/getopt.pyc      6454    8f8cd6763f5339988d157d153c910bf5
    402402library/encodings/cp857.pyc     7611    1b46c8959ac097b73e1c680d464cdc32
    403 library/_ssl.pyc        537     244c691a5e5f65839b6a8dcba79e2e88
     403library/_ssl.pyc        537     d4812f8f7f922f63cdc1340e179b7f84
    404404library/os2emxpath.pyc  4312    0c35794eeb4739ebb4eb28b9a1daf0ca
    405405library/pprint.pyc      9852    6b4724e14285c257116655b1d4ba6db1
     
    411411library/ntpath.pyc      11407   533c9331a1b72cc80dd3f88145ba4466
    412412library/json/__init__.pyc       12974   d7e08774d4fee83dd2a6d3868855a800
    413 library/mlx/gui/checklist.pyc   12279   0d648433bc36dd90e70dbd27c094733a
     413library/mlx/gui/checklist.pyc   12279   555775aaed42b3d0687e1b0f501a9f61
    414414locales/de.pak  7420    18ba99b07536017ed8b87cb4f77aee1c
    415415library/encodings/cp1252.pyc    2676    b4c43cc72650c911cf3654dbaf565df9
    416416library/unicodedata.pyd 688128  c856c31a03dc892e4f2aee93d0bfee44
    417 library/unicodedata.pyc 558     1d02ca413783825aeb8e6b3976f0add4
     417library/unicodedata.pyc 558     f8c55c5d1ca43879e328efe26742ccec
    418418library/multiprocessing/sharedctypes.pyc        8069    0b5a57d8a8a1562a9d562edabd5065c1
    419419library/encodings/cp1256.pyc    2675    c1bf26ed9c9b5ee0eec495138993cffb
     
    422422logo.png        69816   4a7517b22cfd75cc9c15e3fc1b7ebeec
    423423library/libpangoft2-1.0-0.dll   815421  1dbfead06e26edb81f0849490210e3ff
    424 library/mlx/util.pyc    5026    ee65b78fc430008ce301eee1155d85b1
     424library/mlx/util.pyc    5026    e28805b72a8df264fd03df201653c221
    425425doc/manual/hu/student.png       28297   1e72329a3a463d4c50f1b9d91c3aeacc
    426426library/_LWPCookieJar.pyc       5440    3782ae675165b232a3f78608ac2dbccd
    427427library/libfontconfig-1.dll     279059  dd583bedc5efe7bbd21a8ef107dec88d
    428428library/_strptime.pyc   14347   ad17a449b54061177a080e3a21507a39
    429 library/mlx/singleton.pyc       9184    3b71000d428959ab355db2658cea9557
    430 library/mlx/airports.pyc        4350    95dddcb84b0fb7dc4342c69a45ab20b6
     429library/mlx/singleton.pyc       9184    9eec2ed5b230e043afc56592fb13a684
     430library/mlx/airports.pyc        4350    c91293cee62158e0b57827f7da2b0b3a
    431431library/Queue.pyc       8848    4a5b98abcb80aaf94e6de1eb41ec66fa
    432432sounds/notify.wav       119384  108025b17f67e61946df5d7fbf713cdb
     
    443443doc/manual/en/flightBookingRegular.png  10987   46a0cd0f77d8f4c286196752c6cf1b37
    444444library/encodings/palmos.pyc    2876    9284ad53dcfd82dfae0a79923b1cf91d
    445 library/mlx/web.pyc     49987   6f9d6f859938b4e4f3e5c4004e6e5194
    446 library/mlx/gui/gates.pyc       5635    541e695d5acf90721e523c5513fe7d0d
     445library/mlx/web.pyc     50085   0d3f05478f11de55def73551a5803590
     446library/mlx/gui/gates.pyc       5635    ea478376f306ce9d6d0ed2e759407c00
    447447library/gobject/propertyhelper.pyc      8878    cc3598dab17d31ff46a6dee669ccb5ed
    448448library/intl.dll        152489  eb2d4c4d4a527bc88a69a16cc99afcf5
     
    465465library/multiprocessing/heap.pyc        6104    71b50576901ea09d8e4666a9a80724d3
    466466library/encodings/unicode_escape.pyc    1996    32990583f1caf874e556087da7b92971
    467 library/_multiprocessing.pyc    573     75d775fe0fe2d2285eb0f31de28bacc4
     467library/_multiprocessing.pyc    573     85faa60bc8d8b3d69345f10292e39005
    468468doc/manual/hu/logTab.png        28908   25b9aceb760189c177a5562c0cfa2a04
    469 library/win32event.pyc  555     d92a7808ed1848a5f745893510cb9249
    470 library/win32file.pyc   552     3b5fe9c088871cf707f54153c8680507
     469library/win32event.pyc  555     9d23ca715afe49593db8c754a663114d
     470library/win32file.pyc   552     c3ed345f1e6540e4f2a5991b293595ed
    471471library/_multiprocessing.pyd    28672   edd174951a2233941c8d2064c0f69a68
    472472library/encodings/shift_jis_2004.pyc    1710    f8bb22a8b02dba2b66b7f77122c98fd6
    473473library/encodings/cp856.pyc     2701    8b6649490089bedd87e9b8c56985f6b3
    474474locales/hu.pak  7647    7a37ba9f9113e4f7e9de5b5b9643a48c
    475 library/mlx/gui/weighthelp.pyc  13179   09924037c8e067c96c1e7acd88671ed1
     475library/mlx/gui/weighthelp.pyc  14211   e3f70a4883c77f65d41a06b3b04500e2
    476476library/encodings/cp850.pyc     7621    20d776af743fa7acf090fbd575eea143
    477477library/gio/__init__.pyc        809     bc9332556e93183a58be5c10cba18557
    478478doc/manual/hu/debugLogTab.png   32687   9280a72a7c4d4dc5d93a133410505402
    479479library/weakref.pyc     13028   5d1c14275f47e8cf6d40bc6877fde976
    480 library/mlx/fs.pyc      11967   1ee8179acadd281b9e9141fa241192bd
     480library/mlx/fs.pyc      11967   10fe7e01a3569b609698be97ab21dd5b
    481481locales/he.pak  8198    2486731ee9bedc244d41143a2741775f
    482482library/nturl2path.pyc  1755    7835082f2dd6806f99cc25bed13ff7dc
    483483library/email/message.pyc       27764   493826f529d17f5a21080a4c98b49369
    484 library/mlx/gui/pirep.pyc       41544   35d195acdae021797e1630406d501a43
     484library/mlx/gui/pirep.pyc       41544   e7917f01c2960e4e75f9c2100c2c099b
    485485library/mimetypes.pyc   17806   927ce6a7079707aaee925e855ed23454
    486 library/mlx/gui/faultexplain.pyc        10129   f21b2f7b30d736b986b96356587c4810
     486library/mlx/gui/faultexplain.pyc        10129   fe284c4445ac283cdbce34e81522e8ca
    487487sounds/F70taxi.mp3      154854  51332dc691d3519355f61ed06c959d8d
    488488doc/manual/hu/statusIcon1.png   6920    614cde237a5b4e2678ed15d9cd01088e
     
    500500library/libgdk_pixbuf-2.0-0.dll 285194  e4c64b0e7e4c6606f3973a16c0c1ee84
    501501library/encodings/big5.pyc      1630    a21b45d3e487bf09f40a08448040c97d
    502 library/mlx/gui/update.pyc      11482   0253f16c44bb29de314f25c9a5f57e64
     502library/mlx/gui/update.pyc      11482   e53b2ce9e7650dc6ba852436d111b318
    503503library/encodings/cp1250.pyc    2676    c92e287a2aa6a1c924df287d826aa3b7
    504504doc/manual/en/gatesTab.png      31516   7078e7c5adff9ee39816d2c3855d8523
     
    508508locales/vi.pak  7990    f0d8ddd9bdabaef79a9c92f3fd021f25
    509509library/encodings/cp862.pyc     8003    261df6dd1a6e5ad90a83dfc739a25e0a
    510 library/mlx/gui/statusicon.pyc  5616    72e7f1f435bced8727eecc708d69de12
     510library/mlx/gui/statusicon.pyc  5616    03e079307c1f83f36284e1b32887b28e
    511511library/lxml/__init__.pyc       708     4e6d5e156fb2fe6a8103dd02a1037634
    512512library/encodings/cp863.pyc     7868    fc7ff06dab536b93c68fcb8e7bac713f
    513 library/mlx/gui/flightlist.pyc  27053   b046e01f173832414d29324cf463731e
     513library/mlx/gui/flightlist.pyc  27053   31a0362eefea63d7c0d561b2630e1db2
    514514library/codecs.pyc      34722   339dc90c17d548887dbcf1bbbcae5d5b
    515515doc/manual/hu/gateSelection.png 31891   937dc56457188df05056c0f9f3a53975
    516516library/cmd.pyc 13512   808f813d5e354b7073a1356e44c7b554
    517 library/mlx/rpc.pyc     24596   1c6827ff7711034037cc8755f8dca8af
     517library/mlx/rpc.pyc     25576   d1676892ee7b5ba7eb78fabc6a0d95ad
    518518locales/ko.pak  7278    41ecc83d5eef5887c7c288b3b570c7b4
    519519library/jsonrpclib/history.pyc  1662    2e0e6d5c26e2794085d62feb524e4542
     
    536536library/_socket.pyd     38400   5d273be76603399e88cf57f2605004bf
    537537library/plistlib.pyc    18067   d8d36573e80bfdde7c73e47828f6e710
    538 library/_socket.pyc     546     e20437226441ba8d2569ed7e3a281b50
     538library/_socket.pyc     546     c1e4db0a21a801b9b80f832160a478f0
    539539library/encodings/hex_codec.pyc 3520    a8b8d5b7c8810379c7007bcbc253951c
    540 library/mlx/sound.pyc   12511   1cb833d4bb47c63572bef0fc1e0a675d
    541 library/glib/_glib.pyc  555     964f3f75bc28dfdca564030e97b8ea1a
    542 library/win32api.pyc    549     7feab59155c5af902ecbe162cdd768b5
     540library/mlx/sound.pyc   12511   0140b1775a6b22439d9b493788a4a2ff
     541library/glib/_glib.pyc  555     99e673a25af3353b819a0075fb815ad5
     542library/win32api.pyc    549     f4736268be4f2daada705d764dafc4f7
    543543library/encodings/iso8859_13.pyc        2696    f901ae0bbcfbb78f0c1783e89b2e2dc5
    544544doc/manual/en/index.html        59898   7a24695cf320678b5995a390ad369d4c
    545 library/mlx/gui/callouts.pyc    16060   2e120c6e554d8d68459a52791e374789
     545library/mlx/gui/callouts.pyc    16060   7a3055f313e693779e9d2df22bb7568a
    546546library/encodings/iso8859_15.pyc        2693    b892f358bbc25ae9d3824be158aabe28
    547547doc/manual/en/flightBookingVIP.png      11944   49f18078475994d8268bcf7dadc725dd
    548548doc/manual/hu/prefsMessages.png 22980   6e60ec51305e95e5d057c0dd82b69460
    549549library/xml/parsers/__init__.pyc        294     83f6a77ed8cd962b3c75c4779dc557ac
    550 locale/en/LC_MESSAGES/mlx.mo    84371   5900f6fe7e5fdb4fabfa99a2c751c9d1
     550locale/en/LC_MESSAGES/mlx.mo    84747   68a4b4efba3da4c128ad05027d9d2d8a
    551551library/_abcoll.pyc     19891   a5c1881934f1533c22b22b9317ac1d68
    552552library/encodings/iso8859_11.pyc        2787    a31e6d0d34e35259d7183cc9437eacca
     
    555555locales/da.pak  6631    1bf496bcde38f3f2899cd0fab6986959
    556556library/encodings/mac_latin2.pyc        4717    564dbaf5c296a147203eb821dc2466ba
    557 library/mlx/__init__.pyc        103     029f80bd80f880e6ca70ef4ba46f7d06
    558 library/mlx/i18n.pyc    1972    141a57905a2597e5ced25866d032d3a4
     557library/mlx/__init__.pyc        103     877b8715b7e58440a0e8f212cab6035e
     558library/mlx/i18n.pyc    1972    fe45816e49cf5e380bc39942a9dfa875
    559559library/xml/sax/saxutils.pyc    12382   32ed045b3b520234ebea6a508a6569fe
    560560locales/sw.pak  7078    5406f21a67934bbf0e6c633d2ca573f9
     
    562562doc/manual/hu/gatesTab.png      32840   316fb040e358c79b2a846b1eed4651c6
    563563library/webbrowser.pyc  18138   c85009edebad6d278fe786fec10ebbbe
    564 library/mlx/pyuipc_sim.pyc      57371   aa5ce6859748277fc6268bda9c88c115
     564library/mlx/pyuipc_sim.pyc      57371   956c32d114beb4e05f81a39929ed7e8d
    565565library/encodings/cp875.pyc     2636    c72faa5d1cb6105ae81c971448fea479
    566566library/dis.pyc 6068    3934ab23d64f3da393305b19df0f1fd0
     
    575575locales/sk.pak  7622    dfdff6206e5a79aef8b46d0d9c2a8367
    576576library/select.pyd      11776   d90bf525f9f6c9c3aa6532fa6e569b4f
    577 library/pyuipc.pyc      543     9cfd3ec36a463e39df7baa62f6b971e8
     577library/pyuipc.pyc      543     bd02fb3882060c583980f63884e6f82e
    578578library/locale.pyc      48754   a51d20267132acc6bc66ac6252cf870f
    579579doc/manual/en/logTab.png        28120   b92cf63420e59e0c48da4f0b3baae040
     
    585585library/distutils/errors.pyc    5885    fbeaddf5d59ea781ec63197dd950aa89
    586586library/logging/__init__.pyc    54813   7bcdf2e8da474f5e94d8e499f6fc3ed4
    587 runmlx.exe      64000   010b7fa1b6da6f77072342815123917e
     587runmlx.exe      64000   3d56abfb42aab80561691e290df1fcbd
    588588locales/zh-CN.pak       6386    36e1df83611aef6fbfeeafd067dd4241
    589589locales/hi.pak  13321   4b6b27ab4421c94685fc09051a2339f8
     
    603603library/unittest/main.pyc       7701    82258a486f5133466c9cf10323814fbf
    604604library/encodings/iso2022_jp_ext.pyc    1715    97eda1c1468f65445951b0bf23a89570
    605 library/mlx/watchdog.pyc        3957    8dd7d882e0716f1c6c9054e5009bcc1e
     605library/mlx/watchdog.pyc        3957    4b6c34d79e730066e8af7cf71689f9ad
  • locale/en/mlx.po

    r869 r899  
    7070msgstr "British Aerospace 146-200"
    7171
     72msgid "aircraft_il62"
     73msgstr "Ilyushin Il-62"
     74
    7275msgid "aircraft_family_b737ng"
    7376msgstr "Boeing 737NG"
     
    102105msgid "aircraft_family_b462"
    103106msgstr "British Aerospace 146-200"
     107
     108msgid "aircraft_family_il62"
     109msgstr "Ilyushin Il-62"
    104110
    105111msgid "file_filter_all"
     
    636642"You can also query the ZFW reported by the simulator."
    637643
    638 msgid "payload_crew"
    639 msgstr "C_rew:"
    640 
    641 msgid "payload_crew_tooltip"
    642 msgstr "The number of the crew members on your flight."
     644msgid "payload_cockpit_crew"
     645msgstr "Cockpit c_rew:"
     646
     647msgid "payload_cockpit_crew_tooltip"
     648msgstr "The number of the cockpit crew members on your flight."
     649
     650msgid "payload_cabin_crew"
     651msgstr "Cabin cr_ew:"
     652
     653msgid "payload_cabin_crew_tooltip"
     654msgstr "The number of the cabin crew members on your flight."
    643655
    644656msgid "payload_pax"
     
    14941506"<b><span foreground=\"orange\">yellow</span></b>."
    14951507
    1496 msgid "weighthelp_crew"
    1497 msgstr "Crew (%s):"
     1508msgid "weighthelp_cockpit_crew"
     1509msgstr "Cockpit crew (%s):"
     1510
     1511msgid "weighthelp_cabin_crew"
     1512msgstr "Cabin crew (%s):"
    14981513
    14991514msgid "weighthelp_pax"
  • locale/hu/mlx.po

    r870 r899  
    7070msgstr "British Aerospace 146-200"
    7171
     72msgid "aircraft_il62"
     73msgstr "Iljusin Il-62"
     74
    7275msgid "aircraft_family_b737ng"
    7376msgstr "Boeing 737NG"
     
    102105msgid "aircraft_family_b462"
    103106msgstr "British Aerospace 146-200"
     107
     108msgid "aircraft_family_il62"
     109msgstr "Iljusin Il-62"
    104110
    105111msgid "file_filter_all"
     
    640646"Azt is ellenőrizheted, hogy a szimulátor milyen ZFW-t jelent."
    641647
    642 msgid "payload_crew"
    643 msgstr "_Legénység:"
    644 
    645 msgid "payload_crew_tooltip"
    646 msgstr "A legénység létszáma."
     648msgid "payload_cockpit_crew"
     649msgstr "_Pilóták:"
     650
     651msgid "payload_cockpit_crew_tooltip"
     652msgstr "A pilóták létszáma."
     653
     654msgid "payload_cabin_crew"
     655msgstr "_Utaskísérők:"
     656
     657msgid "payload_cabin_crew_tooltip"
     658msgstr "A légiutaskísérők létszáma."
    647659
    648660msgid "payload_pax"
     
    14971509"<b><span foreground=\"orange\">sárga</span></b> színben olvasható."
    14981510
    1499 msgid "weighthelp_crew"
    1500 msgstr "Legénység (%s):"
     1511msgid "weighthelp_cockpit_crew"
     1512msgstr "Pilóták (%s):"
     1513
     1514msgid "weighthelp_cabin_crew"
     1515msgstr "Utaskísérők (%s):"
    15011516
    15021517msgid "weighthelp_pax"
  • src/mlx/acft.py

    r905 r917  
    9797class Aircraft(object):
    9898    """Base class for aircraft."""
     99    dowCockpit = 2
     100    dowCabin = 3
     101
    99102    @staticmethod
    100103    def create(flight, bookedFlight):
     
    125128        self._landingAntiIceLineID = None
    126129
    127         self.humanWeight = 82.0
     130        self.cockpitCrewWeight = 85.0
     131        self.cabinCrewWeight = 75.0
     132        self.humanWeight = 84.0
    128133
    129134        self.initialClimbSpeedAltitude = 1500
     
    829834class B734(Boeing737CL):
    830835    """Boeing 737-400 aircraft."""
     836    dow = 35100
     837
    831838    def __init__(self, flight):
    832839        super(B734, self).__init__(flight)
    833         self.dow = 35100
    834840        self.mtow = 62822
    835841        self.mlw = 54885
     
    12431249        """Get the derate type for this type."""
    12441250        return DERATE_B462
     1251
     1252#---------------------------------------------------------------------------------------
     1253
     1254class IL62(Aircraft):
     1255    """Ilyushin IL-62 aircraft.
     1256
     1257    The aircraft type-specific values in the aircraft state have the following
     1258    structure:
     1259    - fuel: left, centre, right
     1260    - n1: left outer, left inner, right inner, right outer
     1261    - reverser: empty (the plane has no reversers)"""
     1262    dow = 69500
     1263
     1264    def __init__(self, flight):
     1265        super(B462, self).__init__(flight)
     1266        self.mtow = 165000
     1267        self.mlw = 165000
     1268        self.mzfw = 165000
     1269        self.gearSpeedLimit = 210
     1270        self.flapSpeedLimits = { 18 : 217,
     1271                                 24 : 180,
     1272                                 30 : 170,
     1273                                 33 : 150 }
     1274
     1275    @property
     1276    def derateType(self):
     1277        """Get the derate type for this type."""
     1278        return DERATE_NONE
    12451279
    12461280#---------------------------------------------------------------------------------------
     
    12711305             const.AIRCRAFT_T154  : T154,
    12721306             const.AIRCRAFT_YK40  : YK40,
    1273              const.AIRCRAFT_B462  : B462 }
     1307             const.AIRCRAFT_B462  : B462,
     1308             const.AIRCRAFT_IL62  : IL62 }
    12741309
    12751310#---------------------------------------------------------------------------------------
     
    12811316#---------------------------------------------------------------------------------------
    12821317
     1318def setupTypes(aircraftTypes):
     1319    """Setup the values in the given types using the info retrieved
     1320    from the server."""
     1321    for aircraftTypeInfo in aircraftTypes:
     1322        clazz = getClass(aircraftTypeInfo.aircraftType)
     1323
     1324        clazz.dow = aircraftTypeInfo.dow
     1325        clazz.dowCockpit = aircraftTypeInfo.dowCockpit
     1326        clazz.dowCabin = aircraftTypeInfo.dowCabin
     1327
     1328#---------------------------------------------------------------------------------------
     1329
    12831330if __name__ == "__main__":
    12841331    value = SmoothedValue()
  • src/mlx/checks.py

    r912 r917  
    14151415class PayloadChecker(SimpleFaultChecker):
    14161416    """Check if the payload matches the specification."""
    1417     TOLERANCE=550
     1417    TOLERANCE=50
    14181418
    14191419    @staticmethod
  • src/mlx/common.py

    r800 r908  
    1818#---------------------------------------------------------------------------------------
    1919
    20 MAVA_BASE_URL = os.environ.get("MAVA_BASE_URL", "http://virtualairlines.hu")
     20#MAVA_BASE_URL = os.environ.get("MAVA_BASE_URL", "http://virtualairlines.hu")
     21MAVA_BASE_URL = os.environ.get("MAVA_BASE_URL", "http://oldmava.mavasystems.hu")
    2122
    2223#-------------------------------------------------------------------------------
  • src/mlx/config.py

    r738 r897  
    673673        """Determine if RPC calls should be used."""
    674674        return self._useRPC
    675 
    676     @useRPC.setter
    677     def useRPC(self, useRPC):
    678         """Set whether RPC calls should be used."""
    679         if useRPC!=self._useRPC:
    680             self._useRPC = useRPC
    681             self._modified = True
    682675
    683676    def getChecklist(self, aircraftType):
     
    788781                                    Config.DEFAULT_UPDATE_URL +
    789782                                    ("/exp" if secondaryInstallation else ""))
    790         self._useRPC = self._getBoolean(config, "general", "useRPC", True)
    791783
    792784        for aircraftType in const.aircraftTypes:
     
    881873        config.set("update", "url", self._updateURL)
    882874
    883         config.set("general", "useRPC",
    884                    "yes" if self._useRPC else "no")
    885 
    886875        config.add_section(Checklist.SECTION)
    887876        config.add_section(ApproachCallouts.SECTION)
     
    10181007        print "  autoUpdate:", self._autoUpdate
    10191008        print "  updateURL:", self._updateURL
    1020         print "  useRPC:", self._useRPC
    10211009
    10221010        print "  messageTypeLevels:"
  • src/mlx/const.py

    r911 r917  
    1212
    1313## The version of the program
    14 VERSION="0.39.6"
     14VERSION="0.40.1"
    1515
    1616#-------------------------------------------------------------------------------
     
    108108## Aircraft type: British Aerospace BAe-146
    109109AIRCRAFT_B462 = 17
     110
     111## Aircraft type: British Aerospace BAe-146
     112AIRCRAFT_IL62 = 19
    110113
    111114#-------------------------------------------------------------------------------
     
    122125                 AIRCRAFT_T154, AIRCRAFT_T134,
    123126                 AIRCRAFT_YK40, AIRCRAFT_DC3,
    124                  AIRCRAFT_B462]
     127                 AIRCRAFT_B462, AIRCRAFT_IL62]
    125128
    126129#-------------------------------------------------------------------------------
     
    158161## Aircraft type family: British Aerospace BAe-146
    159162AIRCRAFT_FAMILY_B462 = 11
     163
     164## Aircraft type family: Ilyushin IL-62
     165AIRCRAFT_FAMILY_IL62 = 12
    160166
    161167#-------------------------------------------------------------------------------
     
    185191    AIRCRAFT_FAMILY_YK40: [AIRCRAFT_YK40],
    186192
    187     AIRCRAFT_FAMILY_B462: [AIRCRAFT_B462]
     193    AIRCRAFT_FAMILY_B462: [AIRCRAFT_B462],
     194
     195    AIRCRAFT_FAMILY_IL62: [AIRCRAFT_IL62]
    188196
    189197    }
     
    219227              AIRCRAFT_T154  : "T154",
    220228              AIRCRAFT_YK40  : "YK40",
    221               AIRCRAFT_B462  : "B462" }
     229              AIRCRAFT_B462  : "B462",
     230              AIRCRAFT_IL62  : "IL62" }
     231
     232#-------------------------------------------------------------------------------
     233
     234## A mapping from ICAO codes to the corresponding aircraft types
     235icao2Type = { "B736" : AIRCRAFT_B736,
     236              "B737" : AIRCRAFT_B737,
     237              "B738" : AIRCRAFT_B738,
     238              "B732" : AIRCRAFT_B732,
     239              "B733" : AIRCRAFT_B733,
     240              "B734" : AIRCRAFT_B734,
     241              "B735" : AIRCRAFT_B735,
     242              "DH8D" : AIRCRAFT_DH8D,
     243              "B762" : AIRCRAFT_B762,
     244              "B763" : AIRCRAFT_B763,
     245              "CRJ2" : AIRCRAFT_CRJ2,
     246              "F70"  : AIRCRAFT_F70,
     247              "DC3"  : AIRCRAFT_DC3,
     248              "T134" : AIRCRAFT_T134,
     249              "T154" : AIRCRAFT_T154,
     250              "YK40" : AIRCRAFT_YK40,
     251              "B462" : AIRCRAFT_B462,
     252              "IL62" : AIRCRAFT_IL62 }
    222253
    223254#-------------------------------------------------------------------------------
  • src/mlx/flight.py

    r846 r899  
    152152
    153153    @property
     154    def numCockpitCrew(self):
     155        """Get the number of cockpit crew members on the flight."""
     156        return self._gui.numCockpitCrew
     157
     158    @property
     159    def numCabinCrew(self):
     160        """Get the number of cabon crew members on the flight."""
     161        return self._gui.numCabinCrew
     162
     163    @property
    154164    def numCrew(self):
    155165        """Get the number of crew members on the flight."""
    156         return self._gui.numCrew
     166        return self.numCockpitCrew + self.numCabinCrew
    157167
    158168    @property
  • src/mlx/gui/common.py

    r863 r895  
    547547                  _const.AIRCRAFT_T154  : xstr("aircraft_t154"),
    548548                  _const.AIRCRAFT_YK40  : xstr("aircraft_yk40"),
    549                   _const.AIRCRAFT_B462  : xstr("aircraft_b462") }
     549                  _const.AIRCRAFT_B462  : xstr("aircraft_b462"),
     550                  _const.AIRCRAFT_IL62  : xstr("aircraft_il62") }
    550551
    551552#------------------------------------------------------------------------------
     
    572573    _const.AIRCRAFT_FAMILY_YK40: xstr("aircraft_family_yk40"),
    573574
    574     _const.AIRCRAFT_FAMILY_B462: xstr("aircraft_family_b462")
     575    _const.AIRCRAFT_FAMILY_B462: xstr("aircraft_family_b462"),
     576
     577    _const.AIRCRAFT_FAMILY_IL62: xstr("aircraft_family_il62")
    575578}
    576579
  • src/mlx/gui/flight.py

    r872 r908  
    3232#
    3333# This module implements the main tab of the application, the flight
    34 # wizard. The wizard consists of \ref Page "pages", that come one after the
     34# wizard. The wizard consists of \ref Page "pages", that come one yafter the
    3535# other. As some pages might be skipped, the pages dynamically store the index
    3636# of the previous page so that going back to it is simpler. The \ref
     
    21252125                                  xscale = 0.0, yscale = 0.0)
    21262126
    2127         table = gtk.Table(7, 3)
     2127        table = gtk.Table(8, 3)
    21282128        table.set_row_spacings(4)
    21292129        table.set_col_spacings(16)
     
    21322132        self.setMainWidget(alignment)
    21332133
    2134         label = gtk.Label(xstr("payload_crew"))
     2134        label = gtk.Label(xstr("payload_cockpit_crew"))
    21352135        label.set_use_underline(True)
    21362136        label.set_alignment(0.0, 0.5)
    21372137        table.attach(label, 0, 1, 0, 1)
    21382138
    2139         self._numCrew = IntegerEntry(defaultValue = 0)
    2140         self._numCrew.set_width_chars(6)
    2141         self._numCrew.connect("integer-changed", self._weightChanged)
    2142         self._numCrew.set_tooltip_text(xstr("payload_crew_tooltip"))
    2143         table.attach(self._numCrew, 1, 2, 0, 1)
    2144         label.set_mnemonic_widget(self._numCrew)
     2139        self._numCockpitCrew = IntegerEntry(defaultValue = 0)
     2140        self._numCockpitCrew.set_width_chars(6)
     2141        self._numCockpitCrew.connect("integer-changed", self._weightChanged)
     2142        self._numCockpitCrew.set_tooltip_text(xstr("payload_cockpit_crew_tooltip"))
     2143        table.attach(self._numCockpitCrew, 1, 2, 0, 1)
     2144        label.set_mnemonic_widget(self._numCockpitCrew)
     2145
     2146        label = gtk.Label(xstr("payload_cabin_crew"))
     2147        label.set_use_underline(True)
     2148        label.set_alignment(0.0, 0.5)
     2149        table.attach(label, 0, 1, 1, 2)
     2150
     2151        self._numCabinCrew = IntegerEntry(defaultValue = 0)
     2152        self._numCabinCrew.set_width_chars(6)
     2153        self._numCabinCrew.connect("integer-changed", self._weightChanged)
     2154        self._numCabinCrew.set_tooltip_text(xstr("payload_cabin_crew_tooltip"))
     2155        table.attach(self._numCabinCrew, 1, 2, 1, 2)
     2156        label.set_mnemonic_widget(self._numCabinCrew)
    21452157
    21462158        label = gtk.Label(xstr("payload_pax"))
    21472159        label.set_use_underline(True)
    21482160        label.set_alignment(0.0, 0.5)
    2149         table.attach(label, 0, 1, 1, 2)
     2161        table.attach(label, 0, 1, 2, 3)
    21502162
    21512163        self._numPassengers = IntegerEntry(defaultValue = 0)
     
    21532165        self._numPassengers.connect("integer-changed", self._weightChanged)
    21542166        self._numPassengers.set_tooltip_text(xstr("payload_pax_tooltip"))
    2155         table.attach(self._numPassengers, 1, 2, 1, 2)
     2167        table.attach(self._numPassengers, 1, 2, 2, 3)
    21562168        label.set_mnemonic_widget(self._numPassengers)
    21572169
     
    21592171        label.set_use_underline(True)
    21602172        label.set_alignment(0.0, 0.5)
    2161         table.attach(label, 0, 1, 2, 3)
     2173        table.attach(label, 0, 1, 3, 4)
    21622174
    21632175        self._bagWeight = IntegerEntry(defaultValue = 0)
     
    21652177        self._bagWeight.connect("integer-changed", self._weightChanged)
    21662178        self._bagWeight.set_tooltip_text(xstr("payload_bag_tooltip"))
    2167         table.attach(self._bagWeight, 1, 2, 2, 3)
     2179        table.attach(self._bagWeight, 1, 2, 3, 4)
    21682180        label.set_mnemonic_widget(self._bagWeight)
    21692181
    2170         table.attach(gtk.Label("kg"), 2, 3, 2, 3)
     2182        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
    21712183
    21722184        label = gtk.Label(xstr("payload_cargo"))
    21732185        label.set_use_underline(True)
    21742186        label.set_alignment(0.0, 0.5)
    2175         table.attach(label, 0, 1, 3, 4)
     2187        table.attach(label, 0, 1, 4, 5)
    21762188
    21772189        self._cargoWeight = IntegerEntry(defaultValue = 0)
     
    21792191        self._cargoWeight.connect("integer-changed", self._weightChanged)
    21802192        self._cargoWeight.set_tooltip_text(xstr("payload_cargo_tooltip"))
    2181         table.attach(self._cargoWeight, 1, 2, 3, 4)
     2193        table.attach(self._cargoWeight, 1, 2, 4, 5)
    21822194        label.set_mnemonic_widget(self._cargoWeight)
    21832195
    2184         table.attach(gtk.Label("kg"), 2, 3, 3, 4)
     2196        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
    21852197
    21862198        label = gtk.Label(xstr("payload_mail"))
    21872199        label.set_use_underline(True)
    21882200        label.set_alignment(0.0, 0.5)
    2189         table.attach(label, 0, 1, 4, 5)
     2201        table.attach(label, 0, 1, 5, 6)
    21902202
    21912203        self._mailWeight = IntegerEntry(defaultValue = 0)
     
    21932205        self._mailWeight.connect("integer-changed", self._weightChanged)
    21942206        self._mailWeight.set_tooltip_text(xstr("payload_mail_tooltip"))
    2195         table.attach(self._mailWeight, 1, 2, 4, 5)
     2207        table.attach(self._mailWeight, 1, 2, 5, 6)
    21962208        label.set_mnemonic_widget(self._mailWeight)
    21972209
    2198         table.attach(gtk.Label("kg"), 2, 3, 4, 5)
     2210        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
    21992211
    22002212        label = gtk.Label("<b>" + xstr("payload_zfw") + "</b>")
    22012213        label.set_alignment(0.0, 0.5)
    22022214        label.set_use_markup(True)
    2203         table.attach(label, 0, 1, 5, 6)
     2215        table.attach(label, 0, 1, 6, 7)
    22042216
    22052217        self._calculatedZFW = gtk.Label()
    22062218        self._calculatedZFW.set_width_chars(6)
    22072219        self._calculatedZFW.set_alignment(1.0, 0.5)
    2208         table.attach(self._calculatedZFW, 1, 2, 5, 6)
    2209 
    2210         table.attach(gtk.Label("kg"), 2, 3, 5, 6)
     2220        table.attach(self._calculatedZFW, 1, 2, 6, 7)
     2221
     2222        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
    22112223
    22122224        self._zfwButton = gtk.Button(xstr("payload_fszfw"))
     
    22142226        self._zfwButton.connect("clicked", self._zfwRequested)
    22152227        self._zfwButton.set_tooltip_text(xstr("payload_fszfw_tooltip"))
    2216         table.attach(self._zfwButton, 0, 1, 6, 7)
     2228        table.attach(self._zfwButton, 0, 1, 7, 8)
    22172229
    22182230        self._simulatorZFW = gtk.Label("-")
    22192231        self._simulatorZFW.set_width_chars(6)
    22202232        self._simulatorZFW.set_alignment(1.0, 0.5)
    2221         table.attach(self._simulatorZFW, 1, 2, 6, 7)
     2233        table.attach(self._simulatorZFW, 1, 2, 7, 8)
    22222234        self._simulatorZFWValue = None
    22232235
    2224         table.attach(gtk.Label("kg"), 2, 3, 6, 7)
     2236        table.attach(gtk.Label("kg"), 2, 3, 7, 8)
    22252237
    22262238        self.addCancelFlightButton()
     
    22292241
    22302242    @property
    2231     def numCrew(self):
    2232         """The number of the crew members on the flight."""
    2233         return self._numCrew.get_int()
     2243    def numCockpitCrew(self):
     2244        """The number of the cockpit crew members on the flight."""
     2245        return self._numCockpitCrew.get_int()
     2246
     2247    @property
     2248    def numCabinCrew(self):
     2249        """The number of the cabin crew members on the flight."""
     2250        return self._numCabinCrew.get_int()
    22342251
    22352252    @property
     
    22562273        """Setup the information."""
    22572274        bookedFlight = self._wizard._bookedFlight
    2258 
    2259         self._numCrew.set_int(bookedFlight.numCrew)
    2260         self._numCrew.set_sensitive(True)
     2275        aircraft = self._wizard.gui._flight.aircraft
     2276
     2277        numCockpitCrew = bookedFlight.numCockpitCrew
     2278        numCabinCrew = bookedFlight.numCabinCrew
     2279        numCrew = numCockpitCrew + numCabinCrew
     2280
     2281        self._numCockpitCrew.set_int(numCockpitCrew)
     2282        self._numCockpitCrew.set_sensitive(True)
     2283        self._numCabinCrew.set_int(numCabinCrew)
     2284        self._numCabinCrew.set_sensitive(True)
    22612285        self._numPassengers.set_int(bookedFlight.numPassengers)
    22622286        self._numPassengers.set_sensitive(True)
     
    22762300    def finalize(self):
    22772301        """Finalize the payload page."""
    2278         self._numCrew.set_sensitive(False)
     2302        self._numCockpitCrew.set_sensitive(False)
     2303        self._numCabinCrew.set_sensitive(False)
    22792304        self._numPassengers.set_sensitive(False)
    22802305        self._bagWeight.set_sensitive(False)
     
    22852310    def calculateZFW(self):
    22862311        """Calculate the ZFW value."""
     2312        aircraft = self._wizard.gui._flight.aircraft
    22872313        zfw = self._wizard.gui._flight.aircraft.dow
    2288         zfw += (self._numCrew.get_int() + self._numPassengers.get_int()) * 82
     2314        zfw += (self.numCockpitCrew - aircraft.dowCockpit) * aircraft.cockpitCrewWeight
     2315        zfw += (self.numCabinCrew - aircraft.dowCabin) * aircraft.cabinCrewWeight
     2316        zfw += (self._numPassengers.get_int()) * aircraft.humanWeight
    22892317        zfw += self._bagWeight.get_int()
    22902318        zfw += self._cargoWeight.get_int()
    22912319        zfw += self._mailWeight.get_int()
     2320        zfw = int(zfw)
    22922321        return zfw
    22932322
     
    55415570
    55425571    @property
    5543     def numCrew(self):
    5544         """Get the number of crew members."""
    5545         return self._payloadPage.numCrew
     5572    def numCockpitCrew(self):
     5573        """Get the number of cockpit crew members."""
     5574        return self._payloadPage.numCockpitCrew
     5575
     5576    @property
     5577    def numCabinCrew(self):
     5578        """Get the number of cabin crew members."""
     5579        return self._payloadPage.numCabinCrew
    55465580
    55475581    @property
     
    58915925                self._loginResult = result
    58925926                self.gui.loginSuccessful()
     5927                acft.setupTypes(result.aircraftTypes)
    58935928            else:
    58945929                if isReload:
  • src/mlx/gui/gui.py

    r869 r899  
    264264
    265265    @property
    266     def numCrew(self):
    267         """Get the number of crew members."""
    268         return self._wizard.numCrew
     266    def numCockpitCrew(self):
     267        """Get the number of cockpit crew members."""
     268        return self._wizard.numCockpitCrew
     269
     270    @property
     271    def numCabinCrew(self):
     272        """Get the number of cabin crew members."""
     273        return self._wizard.numCabinCrew
    269274
    270275    @property
  • src/mlx/gui/prefs.py

    r738 r897  
    276276
    277277        self._updateURL.set_text(config.updateURL)
    278 
    279         self._useRPC.set_active(config.useRPC)
    280278
    281279        self._settingFromConfig = False
     
    322320        config.autoUpdate = self._autoUpdate.get_active()
    323321        config.updateURL = self._updateURL.get_text()
    324         config.useRPC = self._useRPC.get_active()
    325322
    326323    def _buildGeneral(self):
     
    817814        updateURLBox.pack_start(self._updateURL, True, True, 4)
    818815
    819         self._useRPC = gtk.CheckButton(xstr("prefs_use_rpc"))
    820         mainBox.pack_start(self._useRPC, False, False, 16)
    821 
    822         self._useRPC.set_use_underline(True)
    823         self._useRPC.set_tooltip_text(xstr("prefs_use_rpc_tooltip"))
    824 
    825816        return mainAlignment
    826817
  • src/mlx/gui/weighthelp.py

    r303 r899  
    5656
    5757       
    58         self._weightsTable = table = gtk.Table(16, 5)
     58        self._weightsTable = table = gtk.Table(17, 5)
    5959        table.set_homogeneous(False)
    6060        table.set_row_spacings(4)
     
    9191       
    9292
    93         self._crewLabel = gtk.Label(xstr("weighthelp_crew") % ("99",))
    94         alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
    95                                   xscale = 0.0, yscale = 0.0)
    96         alignment.add(self._crewLabel)
     93        self._cockpitCrewLabel = \
     94          gtk.Label(xstr("weighthelp_cockpit_crew") % ("99",))
     95        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
     96                                  xscale = 0.0, yscale = 0.0)
     97        alignment.add(self._cockpitCrewLabel)
    9798        table.attach(alignment, 0, 1, 1, 2)
    9899
    99         self._crewWeight = gtk.Label("0")
    100         alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
    101                                   xscale = 0.0, yscale = 0.0)
    102         alignment.add(self._crewWeight)
     100        self._cockpitCrewWeight = gtk.Label("0")
     101        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
     102                                  xscale = 0.0, yscale = 0.0)
     103        alignment.add(self._cockpitCrewWeight)
    103104        table.attach(alignment, 1, 2, 1, 2)
    104105       
    105106        table.attach(gtk.Label("kg"), 2, 3, 1, 2)
     107
     108        self._cabinCrewLabel = \
     109          gtk.Label(xstr("weighthelp_cabin_crew") % ("99",))
     110        alignment = gtk.Alignment(xalign = 0.0, yalign = 0.5,
     111                                  xscale = 0.0, yscale = 0.0)
     112        alignment.add(self._cabinCrewLabel)
     113        table.attach(alignment, 0, 1, 2, 3)
     114
     115        self._cabinCrewWeight = gtk.Label("0")
     116        alignment = gtk.Alignment(xalign = 1.0, yalign = 0.5,
     117                                  xscale = 0.0, yscale = 0.0)
     118        alignment.add(self._cabinCrewWeight)
     119        table.attach(alignment, 1, 2, 2, 3)
     120       
     121        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
    106122
    107123        text = xstr("weighthelp_pax") % ("999",)
     
    112128                                  xscale = 0.0, yscale = 0.0)
    113129        alignment.add(self._paxLabel)
    114         table.attach(alignment, 0, 1, 2, 3)
     130        table.attach(alignment, 0, 1, 3, 4)
    115131
    116132        self._paxWeight = gtk.Label("20000")
     
    118134                                  xscale = 0.0, yscale = 0.0)
    119135        alignment.add(self._paxWeight)
    120         table.attach(alignment, 1, 2, 2, 3)
    121        
    122         table.attach(gtk.Label("kg"), 2, 3, 2, 3)
     136        table.attach(alignment, 1, 2, 3, 4)
     137       
     138        table.attach(gtk.Label("kg"), 2, 3, 3, 4)
    123139       
    124140        label = gtk.Label(xstr("weighthelp_baggage"))
     
    126142                                  xscale = 0.0, yscale = 0.0)
    127143        alignment.add(label)
    128         table.attach(alignment, 0, 1, 3, 4)
     144        table.attach(alignment, 0, 1, 4, 5)
    129145
    130146        self._bagWeight = gtk.Label("2000")
     
    132148                                  xscale = 0.0, yscale = 0.0)
    133149        alignment.add(self._bagWeight)
    134         table.attach(alignment, 1, 2, 3, 4)
    135        
    136         table.attach(gtk.Label("kg"), 2, 3, 3, 4)
     150        table.attach(alignment, 1, 2, 4, 5)
     151       
     152        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
    137153       
    138154        label = gtk.Label(xstr("weighthelp_cargo"))
     
    140156                                  xscale = 0.0, yscale = 0.0)
    141157        alignment.add(label)
    142         table.attach(alignment, 0, 1, 4, 5)
     158        table.attach(alignment, 0, 1, 5, 6)
    143159
    144160        self._cargoWeight = gtk.Label("2000")
     
    146162                                  xscale = 0.0, yscale = 0.0)
    147163        alignment.add(self._cargoWeight)
    148         table.attach(alignment, 1, 2, 4, 5)
    149        
    150         table.attach(gtk.Label("kg"), 2, 3, 4, 5)
     164        table.attach(alignment, 1, 2, 5, 6)
     165       
     166        table.attach(gtk.Label("kg"), 2, 3, 5, 6)
    151167       
    152168        label = gtk.Label(xstr("weighthelp_mail"))
     
    154170                                  xscale = 0.0, yscale = 0.0)
    155171        alignment.add(label)
    156         table.attach(alignment, 0, 1, 5, 6)
     172        table.attach(alignment, 0, 1, 6, 7)
    157173
    158174        self._mailWeight = gtk.Label("2000")
     
    160176                                  xscale = 0.0, yscale = 0.0)
    161177        alignment.add(self._mailWeight)
    162         table.attach(alignment, 1, 2, 5, 6)
    163        
    164         table.attach(gtk.Label("kg"), 2, 3, 5, 6)
    165 
    166         table.attach(gtk.HSeparator(), 1, 2, 6, 7)
     178        table.attach(alignment, 1, 2, 6, 7)
     179       
     180        table.attach(gtk.Label("kg"), 2, 3, 6, 7)
     181
     182        table.attach(gtk.HSeparator(), 1, 2, 7, 8)
    167183
    168184        label = gtk.Label("<b>" + xstr("weighthelp_payload") + "</b>")
     
    171187                                  xscale = 0.0, yscale = 0.0)
    172188        alignment.add(label)
    173         table.attach(alignment, 0, 1, 7, 8)
     189        table.attach(alignment, 0, 1, 8, 9)
    174190
    175191        self._payload = gtk.Label("<b>32000</b>")
     
    178194                                  xscale = 0.0, yscale = 0.0)
    179195        alignment.add(self._payload)
    180         table.attach(alignment, 1, 2, 7, 8)
    181        
    182         table.attach(gtk.Label("kg"), 2, 3, 7, 8)
     196        table.attach(alignment, 1, 2, 8, 9)
     197       
     198        table.attach(gtk.Label("kg"), 2, 3, 8, 9)
    183199
    184200        self._fsPayload = gtk.Label("<b>32001</b>")
     
    187203                                  xscale = 0.0, yscale = 0.0)
    188204        alignment.add(self._fsPayload)
    189         table.attach(alignment, 3, 4, 7, 8)
    190        
    191         table.attach(gtk.Label("kg"), 4, 5, 7, 8)
     205        table.attach(alignment, 3, 4, 8, 9)
     206       
     207        table.attach(gtk.Label("kg"), 4, 5, 8, 9)
    192208
    193209        label = gtk.Label(xstr("weighthelp_dow"))
     
    196212                                  xscale = 0.0, yscale = 0.0)
    197213        alignment.add(label)
    198         table.attach(alignment, 0, 1, 8, 9)
     214        table.attach(alignment, 0, 1, 9, 10)
    199215
    200216        self._dow = gtk.Label("35000")
     
    202218                                  xscale = 0.0, yscale = 0.0)
    203219        alignment.add(self._dow)
    204         table.attach(alignment, 1, 2, 8, 9)
    205        
    206         table.attach(gtk.Label("kg"), 2, 3, 8, 9)
     220        table.attach(alignment, 1, 2, 9, 10)
     221       
     222        table.attach(gtk.Label("kg"), 2, 3, 9, 10)
    207223
    208224        self._fsDOW = gtk.Label("33012")
     
    210226                                  xscale = 0.0, yscale = 0.0)
    211227        alignment.add(self._fsDOW)
    212         table.attach(alignment, 3, 4, 8, 9)
    213        
    214         table.attach(gtk.Label("kg"), 4, 5, 8, 9)
    215 
    216         table.attach(gtk.HSeparator(), 1, 2, 9, 10)
    217 
    218         table.attach(gtk.HSeparator(), 3, 4, 9, 10)
     228        table.attach(alignment, 3, 4, 9, 10)
     229       
     230        table.attach(gtk.Label("kg"), 4, 5, 9, 10)
     231
     232        table.attach(gtk.HSeparator(), 1, 2, 10, 11)
     233
     234        table.attach(gtk.HSeparator(), 3, 4, 10, 11)
    219235
    220236        label = gtk.Label("<b>" + xstr("weighthelp_zfw") + "</b>")
     
    223239                                  xscale = 0.0, yscale = 0.0)
    224240        alignment.add(label)
    225         table.attach(alignment, 0, 1, 10, 11)
     241        table.attach(alignment, 0, 1, 11, 12)
    226242
    227243        self._zfw = gtk.Label("<b>122000</b>")
     
    230246                                  xscale = 0.0, yscale = 0.0)
    231247        alignment.add(self._zfw)
    232         table.attach(alignment, 1, 2, 10, 11)
    233        
    234         table.attach(gtk.Label("kg"), 2, 3, 10, 11)
     248        table.attach(alignment, 1, 2, 11, 12)
     249       
     250        table.attach(gtk.Label("kg"), 2, 3, 11, 12)
    235251
    236252        self._fsZFW = gtk.Label("<b>124000</b>")
     
    239255                                  xscale = 0.0, yscale = 0.0)
    240256        alignment.add(self._fsZFW)
    241         table.attach(alignment, 3, 4, 10, 11)
    242        
    243         table.attach(gtk.Label("kg"), 4, 5, 10, 11)
    244 
    245         table.attach(gtk.HSeparator(), 0, 5, 11, 12)
     257        table.attach(alignment, 3, 4, 11, 12)
     258       
     259        table.attach(gtk.Label("kg"), 4, 5, 11, 12)
     260
     261        table.attach(gtk.HSeparator(), 0, 5, 12, 13)
    246262       
    247263        label = gtk.Label(xstr("weighthelp_gross"))
     
    250266                                  xscale = 0.0, yscale = 0.0)
    251267        alignment.add(label)
    252         table.attach(alignment, 0, 1, 12, 13)
     268        table.attach(alignment, 0, 1, 13, 14)
    253269
    254270        self._fsGross = gtk.Label("124000")
     
    256272                                  xscale = 0.0, yscale = 0.0)
    257273        alignment.add(self._fsGross)
    258         table.attach(alignment, 3, 4, 12, 13)
    259        
    260         table.attach(gtk.Label("kg"), 4, 5, 12, 13)
     274        table.attach(alignment, 3, 4, 13, 14)
     275       
     276        table.attach(gtk.Label("kg"), 4, 5, 13, 14)
    261277
    262278        label = gtk.Label(xstr("weighthelp_mzfw"))
     
    265281                                  xscale = 0.0, yscale = 0.0)
    266282        alignment.add(label)
    267         table.attach(alignment, 0, 1, 13, 14)
     283        table.attach(alignment, 0, 1, 14, 15)
    268284
    269285        self._mzfw = gtk.Label("35000")
     
    271287                                  xscale = 0.0, yscale = 0.0)
    272288        alignment.add(self._mzfw)
    273         table.attach(alignment, 1, 2, 13, 14)
    274        
    275         table.attach(gtk.Label("kg"), 2, 3, 13, 14)
     289        table.attach(alignment, 1, 2, 14, 15)
     290       
     291        table.attach(gtk.Label("kg"), 2, 3, 14, 15)
    276292
    277293        label = gtk.Label(xstr("weighthelp_mtow"))
     
    280296                                  xscale = 0.0, yscale = 0.0)
    281297        alignment.add(label)
    282         table.attach(alignment, 0, 1, 14, 15)
     298        table.attach(alignment, 0, 1, 15, 16)
    283299
    284300        self._mtow = gtk.Label("35000")
     
    286302                                  xscale = 0.0, yscale = 0.0)
    287303        alignment.add(self._mtow)
    288         table.attach(alignment, 1, 2, 14, 15)
    289        
    290         table.attach(gtk.Label("kg"), 2, 3, 14, 15)
     304        table.attach(alignment, 1, 2, 15, 16)
     305       
     306        table.attach(gtk.Label("kg"), 2, 3, 15, 16)
    291307
    292308        label = gtk.Label(xstr("weighthelp_mlw"))
     
    295311                                  xscale = 0.0, yscale = 0.0)
    296312        alignment.add(label)
    297         table.attach(alignment, 0, 1, 15, 16)
     313        table.attach(alignment, 0, 1, 16, 17)
    298314
    299315        self._mlw = gtk.Label("35000")
     
    301317                                  xscale = 0.0, yscale = 0.0)
    302318        alignment.add(self._mlw)
    303         table.attach(alignment, 1, 2, 15, 16)
    304        
    305         table.attach(gtk.Label("kg"), 2, 3, 15, 16)
     319        table.attach(alignment, 1, 2, 16, 17)
     320       
     321        table.attach(gtk.Label("kg"), 2, 3, 16, 17)
    306322
    307323        self.show_all()
     
    322338        self._weightsTable.set_sensitive(False)
    323339       
    324         self._crew = -1
     340        self._cockpitCrew = -1
     341        self._cabinCrew = -1
    325342        self._pax = -1
    326         self._humanWeight = 82.0
     343        self._dowCockpit = 2
     344        self._cockpitCrewMemberWeight = 85.0
     345        self._dowCabin = 2
     346        self._cabinCrewMemberWeight = 75.0
     347        self._humanWeight = 84.0
    327348        self._bag = -1
    328349        self._cargo = -1
     
    343364    def _setupCalculated(self):
    344365        """Setup the labels for the calculated values."""
    345         if self._crew<0:
    346             self._crewLabel.set_text(xstr("weighthelp_crew") % ("-",))
    347             self._crewWeight.set_text("-")
    348         else:
    349             self._crewLabel.set_text(xstr("weighthelp_crew") % (str(self._crew),))
    350             crewWeight = self._crew * self._humanWeight
    351             self._crewWeight.set_text("%.0f" % (crewWeight,))
     366        if self._cockpitCrew<0:
     367            self._cockpitCrewLabel.set_text(xstr("weighthelp_cockpit_crew") % ("-",))
     368            self._cockpitCrewWeight.set_text("-")
     369        else:
     370            self._cockpitCrewLabel.set_text(xstr("weighthelp_cockpit_crew") %
     371                                            (str(self._cockpitCrew),))
     372            crewWeight = (self._cockpitCrew - self._dowCockpit) * self._cockpitCrewMemberWeight
     373            self._cockpitCrewWeight.set_text("%.0f" % (crewWeight,))
     374           
     375        if self._cabinCrew<0:
     376            self._cabinCrewLabel.set_text(xstr("weighthelp_cabin_crew") % ("-",))
     377            self._cabinCrewWeight.set_text("-")
     378        else:
     379            self._cabinCrewLabel.set_text(xstr("weighthelp_cabin_crew") %
     380                                          (str(self._cabinCrew),))
     381            crewWeight = (self._cabinCrew - self._dowCabin) * self._cabinCrewMemberWeight
     382            self._cabinCrewWeight.set_text("%.0f" % (crewWeight,))
    352383           
    353384        if self._pax<0:
     
    423454        It returns a tuple with these two items. If any of the items cannot be
    424455        calculated, that is -1."""
    425         if self._crew<0 or self._pax<0 or \
     456        if self._cockpitCrew<0 or self._cabinCrew<0 or self._pax<0 or \
    426457               self._bag<0 or self._cargo<0 or self._mail<0:
    427458            payload = -1
    428459        else:
    429             payload = (self._crew + self._pax) * self._humanWeight + \
    430                       self._bag + self._cargo + self._mail
     460            payload = \
     461              (self._cockpitCrew - self._dowCockpit) * \
     462              self._cockpitCrewMemberWeight + \
     463              (self._cabinCrew - self._dowCabin) * \
     464              self._cabinCrewMemberWeight + \
     465              self._pax * self._humanWeight + \
     466              self._bag + self._cargo + self._mail
    431467
    432468        if payload<0 or self._dowValue<0:
     
    444480        self._gui.logger.untimedMessage("The weight calculation help function was used by the pilot")
    445481
    446         self._crew = self._gui.numCrew
     482        self._cockpitCrew = self._gui.numCockpitCrew
     483        self._cabinCrew = self._gui.numCabinCrew
    447484        self._pax = self._gui.numPassengers
    448485        self._bag = self._gui.bagWeight
     
    451488       
    452489        aircraft = self._gui.flight.aircraft
     490        self._dowCockpit = aircraft.dowCockpit
     491        self._cockpitCrewMemberWeight = aircraft.cockpitCrewWeight
     492        self._dowCabin = aircraft.dowCabin
     493        self._cabinCrewMemberWeight = aircraft.cabinCrewWeight
    453494        self._humanWeight = aircraft.humanWeight
    454495        self._dowValue = aircraft.dow
  • src/mlx/pirep.py

    r856 r908  
    136136        self.bookedFlight = flight.bookedFlight
    137137
     138        self.numCockpitCrew = flight.numCockpitCrew
     139        self.numCabinCrew = flight.numCabinCrew
    138140        self.numCrew = flight.numCrew
    139141        self.numPassengers = flight.numPassengers
     
    182184        self.bookedFlight = bookedFlight
    183185
    184         self.numCrew = int(pirepData["numCrew"])
     186        self.numCockpitCrew = int(pirepData["numCockpitCrew"])
     187        self.numCabinCrew = int(pirepData["numCabinCrew"])
     188        self.numCrew = self.numCockpitCrew + self.numCabinCrew
    185189        self.numPassengers = int(pirepData["numPassengers"])
    186190        self.bagWeight = int(pirepData["bagWeight"])
     
    381385        attrs["arrivalICAO"] = self.bookedFlight.arrivalICAO
    382386        attrs["numPassengers"] = self.numPassengers
     387        attrs["numCockpitCrew"] = self.numCockpitCrew
     388        attrs["numCabinCrew"] = self.numCabinCrew
    383389        attrs["numCrew"] = self.numCrew
    384390        attrs["cargoWeight"] = self.cargoWeight
  • src/mlx/rpc.py

    r889 r908  
    208208                      "TU5"  : const.AIRCRAFT_T154,
    209209                      "YK4"  : const.AIRCRAFT_YK40,
    210                       "146"  : const.AIRCRAFT_B462 }
     210                      "146"  : const.AIRCRAFT_B462,
     211                      "IL6"  : const.AIRCRAFT_IL62 }
    211212
    212213    # FIXME: copied from web.BookedFlight
     
    228229                      const.AIRCRAFT_T154  : "TU5",
    229230                      const.AIRCRAFT_YK40  : "YK4",
    230                       const.AIRCRAFT_B462  : "146" }
     231                      const.AIRCRAFT_B462  : "146",
     232                      const.AIRCRAFT_IL62  : "IL6" }
    231233
    232234    # FIXME: copied from web.BookedFlight
     
    234236    def _decodeAircraftType(typeCode):
    235237        """Decode the aircraft type from the given typeCode."""
    236         if typeCode in BookedFlight.TYPECODE2TYPE:
    237             return BookedFlight.TYPECODE2TYPE[typeCode]
     238        if typeCode in const.icao2Type:
     239            return const.icao2Type[typeCode]
    238240        else:
    239241            raise Exception("Invalid aircraft type code: '" + typeCode + "'")
     
    275277    _instructions = {
    276278        "numPassengers" : int,
    277         "numCrew" : int,
     279        "numCockpitCrew" : int,
     280        "numCabinCrew" : int,
    278281        "bagWeight" : int,
    279282        "cargoWeight" : int,
     
    307310        print >> f, "tail_nr=%s" % (self.tailNumber,)
    308311        print >> f, "passenger=%d" % (self.numPassengers,)
    309         print >> f, "crew=%d" % (self.numCrew,)
     312        print >> f, "crew=%d" % (self.numCockpitrew + self.numCabinCrew,)
    310313        print >> f, "bag=%d" % (self.bagWeight,)
    311314        print >> f, "cargo=%d" % (self.cargoWeight,)
     
    376379        for planeValue in value:
    377380            self._addPlane(Plane(planeValue))
     381
     382#---------------------------------------------------------------------------------------
     383
     384class AircraftTypeInfo(RPCObject):
     385    """Information about an aircraft type."""
     386    # The instructions for the construction
     387    _instructions = {
     388        "dow" : int,
     389        "dowCockpit" : int,
     390        "dowCabin" : int,
     391        }
     392
     393    def __init__(self, value):
     394        """Construct the booked flight object from the given RPC result
     395        value."""
     396        super(AircraftTypeInfo, self).__init__(value,
     397                                               AircraftTypeInfo._instructions)
     398        self.aircraftType = const.icao2Type[value["typeCode"]]
    378399
    379400#---------------------------------------------------------------------------------------
     
    498519            self._sessionID = reply.value["sessionID"]
    499520
    500             types = [BookedFlight.TYPECODE2TYPE[typeCode]
     521            types = [const.icao2Type[typeCode]
    501522                     for typeCode in reply.value["typeCodes"]]
    502523
     
    504525        else:
    505526            return None
     527
     528    def getTypes(self):
     529        """Get the data of the aircraft types supported by us."""
     530        value = self._performCall(lambda sessionID:
     531                                  self._server.getTypes(sessionID))
     532
     533        return [AircraftTypeInfo(t) for t in value]
    506534
    507535    def getFlights(self):
     
    599627        of type codes, if any."""
    600628        typeCodes = None if types is None else \
    601             [BookedFlight.TYPE2TYPECODE[type] for type in types]
     629          [const.icaoCodes[type] for type in types]
    602630
    603631        values = self._performCall(lambda sessionID:
  • src/mlx/web.py

    r859 r908  
    7373                      "TU5"  : const.AIRCRAFT_T154,
    7474                      "YK4"  : const.AIRCRAFT_YK40,
    75                       "146"  : const.AIRCRAFT_B462 }
     75                      "146"  : const.AIRCRAFT_B462,
     76                      "IL6"  : const.AIRCRAFT_IL62 }
    7677
    7778    TYPE2TYPECODE = { const.AIRCRAFT_B736  : "736",
     
    9293                      const.AIRCRAFT_T154  : "TU5",
    9394                      const.AIRCRAFT_YK40  : "YK4",
    94                       const.AIRCRAFT_B462  : "146" }
     95                      const.AIRCRAFT_B462  : "146",
     96                      const.AIRCRAFT_IL62  : "IL6" }
    9597
    9698    checkFlightTypes = [ const.AIRCRAFT_B736, const.AIRCRAFT_B737,
     
    128130
    129131        flight.numPassengers = 0
     132        flight.numCockpitCrew = 2
     133        flight.numCabinCrew = 2
    130134        flight.numCrew = 2
    131135        flight.bagWeight = 0
     
    246250                                                            arrivalTime)
    247251
     252        self.numCockpitCrew = self.numCrew
     253        self.numCabinCrew = 0
     254
    248255        d = dir(self)
    249256        for attribute in ["callsign", "departureICAO", "arrivalICAO",
    250                           "aircraftType", "tailNumber",
    251                           "numPassengers", "numCrew",
     257                          "aircraftType", "tailNumber", "numPassengers",
     258                          "numCrew", "numCockpitCrew", "numCabinCrew",
    252259                          "bagWeight", "cargoWeight", "mailWeight",
    253260                          "route", "departureTime", "arrivalTime"]:
     
    279286
    280287        self.aircraftType = \
    281           self._decodeAircraftType(bookedFlightData["aircraftType"])
     288          self._decodeAircraftICAOType(bookedFlightData["aircraftType"])
    282289        self.tailNumber = bookedFlightData["tailNumber"]
    283290        self.numPassengers = int(bookedFlightData["numPassengers"])
    284         self.numCrew = int(bookedFlightData["numCrew"])
     291        self.numCockpitCrew = int(bookedFlightData["numCockpitCrew"])
     292        self.numCabinCrew = int(bookedFlightData["numCabinCrew"])
     293        self.numCrew = self.numCockpitCrew + self.numCabinCrew
    285294        self.bagWeight = int(bookedFlightData["bagWeight"])
    286295        self.cargoWeight = int(bookedFlightData["cargoWeight"])
     
    327336            raise Exception("Invalid aircraft type code: '" + typeCode + "'")
    328337
     338    def _decodeAircraftICAOType(self, typeCode):
     339        """Decode the aircraft type from the given typeCode."""
     340        if typeCode in const.icao2Type:
     341            return const.icao2Type[typeCode]
     342        else:
     343            raise Exception("Invalid aircraft type code: '" + typeCode + "'")
     344
    329345    def __repr__(self):
    330346        """Get a representation of the flight."""
     
    815831            result.types = loginResult[2]
    816832            result.password = password
     833
     834            result.aircraftTypes = client.getTypes()
     835
    817836            flights = client.getFlights()
    818837            result.flights = flights[0]
    819838            result.reportedFlights = flights[1]
    820839            result.rejectedFlights = flights[2]
     840
    821841            if result.rank=="STU":
    822842                reply = client.getEntryExamStatus()
Note: See TracChangeset for help on using the changeset viewer.