Ver Fonte

remove the web UI

Sven Czarnian há 3 anos atrás
pai
commit
9028ef0442
3 ficheiros alterados com 0 adições e 119 exclusões
  1. 0 1
      aman/AMAN.py
  2. 0 115
      aman/com/WebUI.py
  3. 0 3
      aman/sys/Worker.py

+ 0 - 1
aman/AMAN.py

@@ -9,7 +9,6 @@ import time
 from aman.com import AircraftReport_pb2
 from aman.com.Euroscope import Euroscope
 from aman.com.Weather import Weather
-from aman.com.WebUI import WebUI
 from aman.config.AircraftPerformance import AircraftPerformance
 from aman.config.Airport import Airport
 from aman.config.System import System

+ 0 - 115
aman/com/WebUI.py

@@ -1,115 +0,0 @@
-#!/usr/bin/env python
-
-import json
-import requests
-import sys
-
-from json import JSONEncoder
-from requests.adapters import HTTPAdapter
-from requests.packages.urllib3.util.retry import Retry
-from requests.structures import CaseInsensitiveDict
-
-from aman.config.AirportSequencing import AirportSequencing
-from aman.config.RunwaySequencing import RunwaySequencing
-from aman.config.Server import Server
-
-class InboundEncoder(JSONEncoder):
-    def default(self, o):
-        pta = str(o.PlannedArrivalTime)
-        delimiter = pta.find('.')
-        if -1 == delimiter:
-            delimiter = pta.find('+')
-        return { 'callsign' : o.Callsign, 'runway' : o.PlannedRunway.Name, 'pta' : pta[0:delimiter] }
-
-class WebUI:
-    def __init__(self):
-        self.Config = None
-        self.Aman = None
-
-    def __del__(self):
-        self.release()
-
-    def acquire(self, config : Server, aman):
-        self.Config = config
-        self.Aman = aman
-
-    def release(self):
-        return
-
-    def createSession():
-        # prepare the session
-        session = requests.Session()
-        retry = Retry(total=1, read=1, connect=1)
-        adapter = HTTPAdapter(max_retries=retry)
-        session.mount('http://', adapter)
-        session.mount('https://', adapter)
-        return session
-
-    def requestConfiguration(self, airport, navData):
-        if airport not in navData.Runways:
-            return None
-
-        # prepare the HTTP header and session
-        headers = CaseInsensitiveDict()
-        headers['Accept'] = 'application/json'
-        headers['Content-Type'] = 'application/json'
-        session = WebUI.createSession()
-
-        url = self.Config.WebUiUrl + self.Config.WebUiConfigurationReceiver
-        data = json.dumps({ 'airport': airport }, ensure_ascii=True)
-
-        try:
-            response = session.get(url, headers=headers, data=data, timeout=2)
-            if 200 != response.status_code:
-                return None
-        except requests.exceptions.ConnectTimeout:
-            return None
-
-        config = json.loads(response.json())
-
-        # WebUI sent the wrong airport
-        if config['airport'] != airport or 0 == len(config['activeRunways']):
-            return None
-
-        airportConfig = AirportSequencing(airport)
-        airportConfig.UseMustShallMay = config['useMustShallMay']
-
-        # build the sequencing information per runway
-        for activeRunway in config['activeRunways']:
-            gngRunway = None
-            for runway in navData.Runways[airport]:
-                if runway.Name == activeRunway['runway']:
-                    gngRunway = runway
-                    break
-
-            # could not find the runway
-            if None == gngRunway:
-                return None
-
-            runway = RunwaySequencing(gngRunway)
-            runway.Spacing = int(activeRunway['spacing'])
-            airportConfig.activateRunway(runway)
-
-        # resolve the dependencies
-        for dependency in config['dependentRunways']:
-            if 2 == len(dependency):
-                airportConfig.addDependency(dependency[0], dependency[1])
-
-        return airportConfig
-
-    def sendSequence(self, airport, inbounds):
-        # prepare the HTTP header and session
-        headers = CaseInsensitiveDict()
-        headers['Accept'] = 'application/json'
-        headers['Content-Type'] = 'application/json'
-        session = WebUI.createSession()
-
-        # prepare the relevant information
-        url = self.Config.WebUiUrl + self.Config.WebUiSequenceNotification
-        data = json.dumps({ 'airport': airport, 'sequence': inbounds }, ensure_ascii=True, cls=InboundEncoder)
-
-        # send to the server
-        try:
-            session.patch(url, headers=headers, data=data, timeout=2)
-        except requests.exceptions.ConnectTimeout:
-            return

+ 0 - 3
aman/sys/Worker.py

@@ -6,7 +6,6 @@ import time
 
 from aman.com import Weather
 from aman.com.Euroscope import Euroscope
-from aman.com.WebUI import WebUI
 from aman.config.Airport import Airport
 from aman.sys.aco.Colony import Colony
 from aman.sys.aco.Configuration import Configuration
@@ -29,7 +28,6 @@ class Worker(Thread):
         self.ReportQueue = {}
         self.WeatherModel = WeatherModel(configuration.GaforId, weather)
         self.RecedingHorizonControl = RecedingHorizonControl(configuration.RecedingHorizonControl)
-        self.WebUi = webui
         self.Euroscope = euroscope
 
         # merge the constraint information with the GNG information
@@ -132,7 +130,6 @@ class Worker(Thread):
 
             # send the sequence to the GUI and Euroscope
             sequence = self.RecedingHorizonControl.sequence()
-            self.WebUi.sendSequence(self.Icao, sequence)
             self.Euroscope.sendSequence(self.Icao, sequence, self.WeatherModel)
 
             self.releaseLock()