Files
aman-sys/aman/types/Inbound.py
2021-11-13 22:55:04 +01:00

36 lines
1.3 KiB
Python

#!/usr/bin/env python
import pytz
from datetime import datetime
from aman.com import AircraftReport_pb2
from aman.sys.WeatherModel import WeatherModel
from aman.types.PerformanceData import PerformanceData
class Inbound:
def __init__(self, report : AircraftReport_pb2.AircraftReport, performanceData : PerformanceData):
self.Report = report
self.Callsign = report.aircraft.callsign
self.CurrentPosition = report.position
self.ReportTime = datetime.strptime(report.reportTime + '+0000', '%Y%m%d%H%M%S%z').replace(tzinfo = pytz.UTC)
self.InitialArrivalTime = None
self.PlannedArrivalTime = None
self.PlannedRunway = None
self.PlannedStar = None
self.PlannedArrivalRoute = None
self.PlannedTrackmiles = None
self.FixedSequence = False
self.WTC = None
# analyze the WTC
wtc = report.aircraft.wtc.upper()
if 'L' == wtc or 'M' == wtc or 'H' == wtc or 'J' == wtc:
self.WTC = wtc
# search performance data -> fallback to A320
if self.Report.aircraft.type in performanceData.Aircrafts:
self.PerformanceData = performanceData.Aircrafts[self.Report.aircraft.type]
if None == self.PerformanceData:
self.PerformanceData = performanceData.Aircrafts['A320']