|
@@ -8,10 +8,12 @@ class ArrivalTime:
|
|
|
def __init__(self, **kargs):
|
|
|
self.Star = None
|
|
|
self.MaximumTimeToGain = None
|
|
|
+ self.MaximumTimeToLose = None
|
|
|
self.FlightTimeUntilIaf = None
|
|
|
self.FlightTimeUntilTouchdown = None
|
|
|
self.InitialArrivalTime = None
|
|
|
self.EarliestArrivalTime = None
|
|
|
+ self.LatestArrivalTime = None
|
|
|
|
|
|
for key, value in kargs.items():
|
|
|
if 'ttg' == key:
|
|
@@ -21,6 +23,13 @@ class ArrivalTime:
|
|
|
self.MaximumTimeToGain = timedelta(seconds = float(value))
|
|
|
else:
|
|
|
raise Exception('Invalid type for ttg')
|
|
|
+ elif 'ttl' == key:
|
|
|
+ if True == isinstance(value, timedelta):
|
|
|
+ self.MaximumTimeToLose = value
|
|
|
+ elif True == isinstance(value, (int, float)):
|
|
|
+ self.MaximumTimeToLose = timedelta(seconds = float(value))
|
|
|
+ else:
|
|
|
+ raise Exception('Invalid type for ttl')
|
|
|
elif 'star' == key:
|
|
|
if True == isinstance(value, ArrivalRoute):
|
|
|
self.Star = value
|
|
@@ -36,6 +45,11 @@ class ArrivalTime:
|
|
|
self.EarliestArrivalTime = value
|
|
|
else:
|
|
|
raise Exception('Invalid type for earliest')
|
|
|
+ elif 'latest' == key:
|
|
|
+ if True == isinstance(value, datetime):
|
|
|
+ self.LatestArrivalTime = value
|
|
|
+ else:
|
|
|
+ raise Exception('Invalid type for latest')
|
|
|
elif 'touchdown' == key:
|
|
|
if True == isinstance(value, timedelta):
|
|
|
self.FlightTimeUntilTouchdown = value
|