12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/usr/bin/env python
- from datetime import datetime, timedelta
- from aman.types.ArrivalRoute import ArrivalRoute
- 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:
- if True == isinstance(value, timedelta):
- self.MaximumTimeToGain = value
- elif True == isinstance(value, (int, float)):
- 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
- else:
- raise Exception('Invalid type for star')
- elif 'ita' == key:
- if True == isinstance(value, datetime):
- self.InitialArrivalTime = value
- else:
- raise Exception('Invalid type for ita')
- elif 'earliest' == key:
- if True == isinstance(value, datetime):
- 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
- else:
- raise Exception('Invalid type for touchdown')
- elif 'entry' == key:
- if True == isinstance(value, timedelta):
- self.FlightTimeUntilIaf = value
- else:
- raise Exception('Invalid type for entry')
- else:
- raise Exception('Unknown key: ' + key)
|