12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env python
- import glob
- import os
- import sys
- from aman.com.Euroscope import Euroscope
- from aman.config.AircraftPerformance import AircraftPerformance
- from aman.config.Airport import Airport
- from aman.config.System import System
- class AMAN:
- def findConfigPath():
- envvar = os.environ.get('AMAN_CONFIG_PATH')
- if None == envvar:
- print('No AMAN_CONFIG_PATH in environment variables found. Using execution directory.')
- path = os.getcwd()
- else:
- print('AMAN_CONFIG_PATH found.')
- path = envvar
- print('Config-path: ' + path)
- return path
- def __init__(self):
- # default initialization of members
- self.systemConfig = None
- self.aircraftPerformance = None
- self.receiver = None
- configPath = AMAN.findConfigPath()
- # read all system relevant configuration files
- self.systemConfig = System(os.path.join(configPath, 'System.ini'))
- print('Parsed System.ini')
- # read the aircraft performance data
- self.aircraftPerformance = AircraftPerformance(os.path.join(configPath, 'PerformanceData.ini'))
- if None == self.aircraftPerformance:
- sys.stderr.write('No aircraft performance data found!')
- sys.exit(-1)
- else:
- print('Parsed PerformanceData.ini. Extracted ' + str(len(self.aircraftPerformance.aircrafts)) + ' aircrafts')
- # find the airport configurations and create the workers
- airportsPath = os.path.join(os.path.join(configPath, 'airports'), '*.ini')
- for file in glob.glob(airportsPath):
- icao = os.path.splitext(os.path.basename(file))[0]
- print('Parsing planner configuration for ' + icao)
- airportConfig = Airport(file, icao)
- # TODO initialize the planner thread
- # create the EuroScope receiver
- self.receiver = Euroscope(configPath, self.systemConfig.Server)
- def __del__(self):
- if None != self.receiver:
- del self.receiver
- self.receiver = None
|