1 | # Module for ACARS handling
|
---|
2 |
|
---|
3 | #------------------------------------------------------------------------------
|
---|
4 |
|
---|
5 | import const
|
---|
6 |
|
---|
7 | #------------------------------------------------------------------------------
|
---|
8 |
|
---|
9 | class ACARS(object):
|
---|
10 | """The ACARS object."""
|
---|
11 | def __init__(self, gui, state):
|
---|
12 | """Construct the acars."""
|
---|
13 | self.pid = gui.config.pilotID
|
---|
14 | self.pilotName = gui.loginResult.pilotName
|
---|
15 |
|
---|
16 | flight = gui.flight
|
---|
17 | aircraft = flight.aircraft
|
---|
18 |
|
---|
19 | self.state = state
|
---|
20 | self.bookedFlight = gui.bookedFlight
|
---|
21 |
|
---|
22 | self.blockTime = 0 if flight.blockTimeStart is None \
|
---|
23 | else aircraft.state.timestamp - flight.blockTimeStart
|
---|
24 | self.stage = flight.stage
|
---|
25 |
|
---|
26 | def getBlockTimeText(self):
|
---|
27 | """Get the block time in HH:MM format"""
|
---|
28 | hours = int(self.blockTime / 3600)
|
---|
29 | minutes = int((self.blockTime / 60)) % 60
|
---|
30 | return "%02d:%02d" % (hours, minutes)
|
---|
31 |
|
---|
32 | def getEventText(self):
|
---|
33 | """Get the 'event', i.e. the stage."""
|
---|
34 | if self.stage==const.STAGE_BOARDING: return "Boarding"
|
---|
35 | elif self.stage==const.STAGE_PUSHANDTAXI: return "Taxiing"
|
---|
36 | elif self.stage==const.STAGE_TAKEOFF: return "Departing"
|
---|
37 | elif self.stage==const.STAGE_CLIMB: return "Climbing"
|
---|
38 | elif self.stage==const.STAGE_CRUISE: return "Cruising"
|
---|
39 | elif self.stage==const.STAGE_DESCENT:
|
---|
40 | return "Descending" if self.state.altitude>=10000 \
|
---|
41 | else "Approaching"
|
---|
42 | else:
|
---|
43 | return "Landed"
|
---|
44 |
|
---|
45 | #------------------------------------------------------------------------------
|
---|