From 51c963de522e17b00cd211f380ac3dd800e1e0f2 Mon Sep 17 00:00:00 2001 From: Sven Czarnian Date: Wed, 10 Nov 2021 22:44:22 +0100 Subject: [PATCH] add a maximum time to lose to define some constraints --- aman/types/ArrivalTime.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/aman/types/ArrivalTime.py b/aman/types/ArrivalTime.py index 97ec70f..62a811b 100644 --- a/aman/types/ArrivalTime.py +++ b/aman/types/ArrivalTime.py @@ -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