From d9fc52bf4872c8bc4d19c1f81d2312aabd2c3b3c Mon Sep 17 00:00:00 2001
From: Dashie <dashie@sigpipe.me>
Date: Tue, 9 Aug 2022 12:48:22 +0200
Subject: [PATCH] py3: singleton fixes

---
 server/bin/remover.py                              |  5 ++---
 server/bin/stationremover.py                       |  4 ++--
 server/trackdirect/TrackDirectWebsocketServer.py   |  9 ++-------
 .../websocket/WebsocketConnectionState.py          |  8 ++++----
 .../websocket/aprsis/AprsISPayloadCreator.py       | 14 +++-----------
 .../trackdirect/websocket/aprsis/AprsISReader.py   | 10 ++--------
 .../websocket/responses/FilterResponseCreator.py   | 10 ++++------
 7 files changed, 19 insertions(+), 41 deletions(-)

diff --git a/server/bin/remover.py b/server/bin/remover.py
index d375cd2..0d80f5b 100644
--- a/server/bin/remover.py
+++ b/server/bin/remover.py
@@ -2,13 +2,12 @@ import sys
 import os.path
 import logging
 import logging.handlers
-import psycopg2.extras
 import datetime
 import time
+import trackdirect
 
 from trackdirect.database.DatabaseConnection import DatabaseConnection
 from trackdirect.database.DatabaseObjectFinder import DatabaseObjectFinder
-from trackdirect.TrackDirectConfig import TrackDirectConfig
 from trackdirect.repositories.PacketRepository import PacketRepository
 
 if __name__ == '__main__':
@@ -26,7 +25,7 @@ if __name__ == '__main__':
         print("\n" + sys.argv[0] + ' [config.ini]')
         sys.exit()
 
-    config = TrackDirectConfig()
+    config = trackdirect.TrackDirectConfig()
     config.populate(sys.argv[1])
 
     maxDaysToSavePositionData = int(config.daysToSavePositionData)
diff --git a/server/bin/stationremover.py b/server/bin/stationremover.py
index 5cc52c1..6e13a2e 100644
--- a/server/bin/stationremover.py
+++ b/server/bin/stationremover.py
@@ -4,10 +4,10 @@ import logging
 import logging.handlers
 import datetime
 import time
+import trackdirect
 
 from trackdirect.database.DatabaseConnection import DatabaseConnection
 from trackdirect.database.DatabaseObjectFinder import DatabaseObjectFinder
-from trackdirect.TrackDirectConfig import TrackDirectConfig
 
 if __name__ == '__main__':
 
@@ -26,7 +26,7 @@ if __name__ == '__main__':
 
     stationId = sys.argv[2]
 
-    config = TrackDirectConfig()
+    config = trackdirect.TrackDirectConfig()
     config.populate(sys.argv[1])
 
     try:
diff --git a/server/trackdirect/TrackDirectWebsocketServer.py b/server/trackdirect/TrackDirectWebsocketServer.py
index 9633f7a..fe9a070 100644
--- a/server/trackdirect/TrackDirectWebsocketServer.py
+++ b/server/trackdirect/TrackDirectWebsocketServer.py
@@ -1,21 +1,16 @@
 import logging
 
-from twisted.python import log
 from twisted.internet import threads, reactor, task
 from twisted.internet.error import AlreadyCancelled, AlreadyCalled
 
 from autobahn.twisted.websocket import WebSocketServerProtocol
 
 import json
-import datetime
 import time
 import psycopg2
 import psycopg2.extras
 import os
-import re
-
-from trackdirect.TrackDirectConfig import TrackDirectConfig
-
+import trackdirect
 from trackdirect.database.DatabaseConnection import DatabaseConnection
 
 from trackdirect.websocket.WebsocketResponseCreator import WebsocketResponseCreator
@@ -35,7 +30,7 @@ class TrackDirectWebsocketServer(WebSocketServerProtocol):
         WebSocketServerProtocol.__init__(self)
         self.logger = logging.getLogger('trackdirect')
 
-        self.config = TrackDirectConfig()
+        self.config = trackdirect.TrackDirectConfig()
         self.maxClientIdleTime = int(self.config.maxClientIdleTime) * 60
         self.maxQueuedRealtimePackets = int(
             self.config.maxQueuedRealtimePackets)
diff --git a/server/trackdirect/websocket/WebsocketConnectionState.py b/server/trackdirect/websocket/WebsocketConnectionState.py
index d532571..2b78372 100644
--- a/server/trackdirect/websocket/WebsocketConnectionState.py
+++ b/server/trackdirect/websocket/WebsocketConnectionState.py
@@ -1,7 +1,7 @@
-import datetime, time
-from math import floor, ceil
+import time
+import trackdirect
+from math import ceil
 from trackdirect.parser.policies.MapSectorPolicy import MapSectorPolicy
-from trackdirect.TrackDirectConfig import TrackDirectConfig
 
 class WebsocketConnectionState():
     """An WebsocketConnectionState instance contains information about the current state of a websocket connection
@@ -15,7 +15,7 @@ class WebsocketConnectionState():
         self.latestRequestTimestamp = 0
         self.latestRequestId = 0
         self.latestHandledRequestId = 0
-        self.config = TrackDirectConfig()
+        self.config = trackdirect.TrackDirectConfig()
         self.noRealTime = False
         self.disconnected = False
 
diff --git a/server/trackdirect/websocket/aprsis/AprsISPayloadCreator.py b/server/trackdirect/websocket/aprsis/AprsISPayloadCreator.py
index e38c573..6f1158e 100644
--- a/server/trackdirect/websocket/aprsis/AprsISPayloadCreator.py
+++ b/server/trackdirect/websocket/aprsis/AprsISPayloadCreator.py
@@ -1,21 +1,13 @@
 import logging
-from twisted.python import log
-import psycopg2, psycopg2.extras
 
-import json
-from math import floor, ceil
-import datetime, time
+import time
 
 import aprslib
 
 from trackdirect.parser.AprsPacketParser import AprsPacketParser
-from trackdirect.parser.policies.StationNameFormatPolicy import StationNameFormatPolicy
 
-from trackdirect.objects.Packet import Packet
-from trackdirect.objects.Station import Station
-from trackdirect.objects.Sender import Sender
 
-from trackdirect.TrackDirectConfig import TrackDirectConfig
+import trackdirect
 
 from trackdirect.exceptions.TrackDirectParseError import TrackDirectParseError
 
@@ -39,7 +31,7 @@ class AprsISPayloadCreator():
         self.db = db
         self.responseDataConverter = ResponseDataConverter(state, db)
         self.historyResponseCreator = HistoryResponseCreator(state, db)
-        self.config = TrackDirectConfig()
+        self.config = trackdirect.TrackDirectConfig()
         self.stationHashTimestamps = {}
 
         self.saveOgnStationsWithMissingIdentity = False
diff --git a/server/trackdirect/websocket/aprsis/AprsISReader.py b/server/trackdirect/websocket/aprsis/AprsISReader.py
index e22323c..a5be779 100644
--- a/server/trackdirect/websocket/aprsis/AprsISReader.py
+++ b/server/trackdirect/websocket/aprsis/AprsISReader.py
@@ -1,14 +1,8 @@
 import logging
-from twisted.python import log
+import trackdirect
 
-import re
-import datetime, time
-
-import aprslib
-from trackdirect.TrackDirectConfig import TrackDirectConfig
 from trackdirect.parser.AprsISConnection import AprsISConnection
 from trackdirect.repositories.SenderRepository import SenderRepository
-from trackdirect.exceptions.TrackDirectParseError import TrackDirectParseError
 
 class AprsISReader():
     """The AprsISReader class will connect to a APRS-IS server and listen for APRS-packets
@@ -31,7 +25,7 @@ class AprsISReader():
         self.aprsISConnection2 = None
 
         self.logger = logging.getLogger('trackdirect')
-        self.config = TrackDirectConfig()
+        self.config = trackdirect.TrackDirectConfig()
 
 
     def start(self):
diff --git a/server/trackdirect/websocket/responses/FilterResponseCreator.py b/server/trackdirect/websocket/responses/FilterResponseCreator.py
index a26740d..e4a5508 100644
--- a/server/trackdirect/websocket/responses/FilterResponseCreator.py
+++ b/server/trackdirect/websocket/responses/FilterResponseCreator.py
@@ -1,10 +1,9 @@
 import logging
-from twisted.python import log
 
-from math import floor, ceil
-import datetime, time
+import time
 
-import psycopg2, psycopg2.extras
+
+import trackdirect
 
 from trackdirect.repositories.PacketRepository import PacketRepository
 from trackdirect.repositories.StationRepository import StationRepository
@@ -12,7 +11,6 @@ from trackdirect.repositories.StationRepository import StationRepository
 from trackdirect.websocket.queries.MostRecentPacketsQuery import MostRecentPacketsQuery
 from trackdirect.websocket.responses.ResponseDataConverter import ResponseDataConverter
 
-from trackdirect.TrackDirectConfig import TrackDirectConfig
 
 class FilterResponseCreator():
     """The FilterResponseCreator is used to create filter responses, a response sent to client when client wants to filter on a station
@@ -32,7 +30,7 @@ class FilterResponseCreator():
         self.responseDataConverter = ResponseDataConverter(state, db)
         self.packetRepository = PacketRepository(db)
         self.stationRepository = StationRepository(db)
-        self.config = TrackDirectConfig()
+        self.config = trackdirect.TrackDirectConfig()
 
 
     def getResponses(self, request) :
-- 
GitLab