]> www.average.org Git - loctrkd.git/commitdiff
rename `lookaside` to `rectifier`
authorEugene Crosser <crosser@average.org>
Tue, 19 Jul 2022 14:57:47 +0000 (16:57 +0200)
committerEugene Crosser <crosser@average.org>
Tue, 19 Jul 2022 14:57:47 +0000 (16:57 +0200)
12 files changed:
debian/control
debian/lintian-overrides
debian/loctrkd.conf
debian/loctrkd.default
debian/loctrkd.lookaside.service [deleted file]
debian/loctrkd.rectifier.service [new file with mode: 0644]
debian/loctrkd.target
debian/rules
loctrkd/lookaside.py [deleted file]
loctrkd/rectifier.py [new file with mode: 0644]
test/common.py
test/test_storage.py

index ec01d74f88a0c432c257d57e03c0482cb7a3e3c0..72dbcaee09971c2a4210d5af8dd0ad6fce3c6ad7 100644 (file)
@@ -26,4 +26,4 @@ Depends: adduser,
 Conflicts: python3-gps303
 Replaces: python3-gps303
 Description: Suite of modules to collect reports from xz303 GPS trackers
- Consists of collector, storagae, lookaside, and termconfig
+ Consists of collector, storagae, rectifier, and termconfig
index b14c41e220a773a8beb47626f53279500789fa03..d9790eef10e00e95d0f20452a922199170d55f2d 100644 (file)
@@ -1,4 +1,4 @@
 python3-loctrkd: systemd-service-file-refers-to-unusual-wantedby-target loctrkd.target [lib/systemd/system/loctrkd.collector.service]
-python3-loctrkd: systemd-service-file-refers-to-unusual-wantedby-target loctrkd.target [lib/systemd/system/loctrkd.lookaside.service]
+python3-loctrkd: systemd-service-file-refers-to-unusual-wantedby-target loctrkd.target [lib/systemd/system/loctrkd.rectifier.service]
 python3-loctrkd: systemd-service-file-refers-to-unusual-wantedby-target loctrkd.target [lib/systemd/system/loctrkd.storage.service]
 python3-loctrkd: systemd-service-file-refers-to-unusual-wantedby-target loctrkd.target [lib/systemd/system/loctrkd.termconfig.service]
index d22214da327d09f67e1eb35aa598ad503d47065a..9f45a0806e91e14dfebf8e67594dcdfc804e143a 100644 (file)
@@ -14,7 +14,7 @@ htmlfile = /var/lib/loctrkd/index.html
 [storage]
 dbfn = /var/lib/loctrkd/trkloc.sqlite
 
-[lookaside]
+[rectifier]
 # "opencellid" and "googlemaps" can be here. Both require an access token,
 # though googlemaps is only online, while opencellid backend looks up a
 # local database, that can be updated once a week or once a month.
index 7b91fc7fe930cac9ec32734db7c02393c0e59787..15884b2155bce780ecb77f86583aec31d4c0e463 100644 (file)
@@ -1,5 +1,5 @@
 # Environment for loctrkd suite
 # Common command-line option for all daemons
 #OPTIONS="-c /etc/loctrkd.conf -d"
-# Which lookaside service to use: opencellid or googleloc
+# Which rectifier service to use: opencellid or googleloc
 LOOKASIDE=opencellid
diff --git a/debian/loctrkd.lookaside.service b/debian/loctrkd.lookaside.service
deleted file mode 100644 (file)
index 0be3186..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=GPS303 Lookaside Service
-PartOf=loctrkd.target
-
-[Service]
-Type=simple
-EnvironmentFile=-/etc/default/loctrkd
-ExecStart=python3 -m loctrkd.lookaside $OPTIONS
-KillSignal=INT
-Restart=on-failure
-StandardOutput=journal
-StandardError=inherit
-User=loctrkd
-Group=loctrkd
-
-[Install]
-WantedBy=loctrkd.target
diff --git a/debian/loctrkd.rectifier.service b/debian/loctrkd.rectifier.service
new file mode 100644 (file)
index 0000000..fe87874
--- /dev/null
@@ -0,0 +1,17 @@
+[Unit]
+Description=GPS303 Lookaside Service
+PartOf=loctrkd.target
+
+[Service]
+Type=simple
+EnvironmentFile=-/etc/default/loctrkd
+ExecStart=python3 -m loctrkd.rectifier $OPTIONS
+KillSignal=INT
+Restart=on-failure
+StandardOutput=journal
+StandardError=inherit
+User=loctrkd
+Group=loctrkd
+
+[Install]
+WantedBy=loctrkd.target
index 50b71c06cd6be3f84feeea0ca522dc5085bd03f3..dc27380e928a208b583dc8f7aaf2ec78bfb81031 100644 (file)
@@ -3,12 +3,12 @@ Description=GPS303 support suite
 Requires=loctrkd.collector.service \
         loctrkd.storage.service \
         loctrkd.termconfig.service \
-        loctrkd.lookaside.service \
+        loctrkd.rectifier.service \
        loctrkd.wsgateway.service
 After=loctrkd.collector.service \
       loctrkd.storage.service \
       loctrkd.termconfig.service \
-      loctrkd.lookaside.service \
+      loctrkd.rectifier.service \
       loctrkd.wsgateway.service
 
 [Install]
index b35833aef57ab4f03bd72ce6a5e9dec78faf5509..3b60f5892817109fda1c018ab7f6b930c5fc9fee 100755 (executable)
@@ -12,7 +12,7 @@ override_dh_installsystemd:
        dh_installsystemd --name=loctrkd
        dh_installsystemd --name=loctrkd.collector
        dh_installsystemd --name=loctrkd.storage
-       dh_installsystemd --name=loctrkd.lookaside
+       dh_installsystemd --name=loctrkd.rectifier
        dh_installsystemd --name=loctrkd.termconfig
        dh_installsystemd --name=loctrkd.wsgateway
        dh_installsystemd --name=loctrkd.ocid-dload
diff --git a/loctrkd/lookaside.py b/loctrkd/lookaside.py
deleted file mode 100644 (file)
index 31c3105..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-""" Estimate coordinates from WIFI_POSITIONING and send back """
-
-from configparser import ConfigParser
-from datetime import datetime, timezone
-from importlib import import_module
-from logging import getLogger
-from os import umask
-from struct import pack
-import zmq
-
-from . import common
-from .zx303proto import parse_message, proto_name, WIFI_POSITIONING
-from .zmsg import Bcast, Resp, topic
-
-log = getLogger("loctrkd/lookaside")
-
-
-def runserver(conf: ConfigParser) -> None:
-    qry = import_module("." + conf.get("lookaside", "backend"), __package__)
-    qry.init(conf)
-    # Is this https://github.com/zeromq/pyzmq/issues/1627 still not fixed?!
-    zctx = zmq.Context()  # type: ignore
-    zsub = zctx.socket(zmq.SUB)  # type: ignore
-    zsub.connect(conf.get("collector", "publishurl"))
-    zsub.setsockopt(zmq.SUBSCRIBE, topic(proto_name(WIFI_POSITIONING)))
-    zpush = zctx.socket(zmq.PUSH)  # type: ignore
-    zpush.connect(conf.get("collector", "listenurl"))
-
-    try:
-        while True:
-            zmsg = Bcast(zsub.recv())
-            msg = parse_message(zmsg.packet)
-            log.debug(
-                "IMEI %s from %s at %s: %s",
-                zmsg.imei,
-                zmsg.peeraddr,
-                datetime.fromtimestamp(zmsg.when).astimezone(tz=timezone.utc),
-                msg,
-            )
-            try:
-                lat, lon = qry.lookup(
-                    msg.mcc, msg.mnc, msg.gsm_cells, msg.wifi_aps
-                )
-                resp = Resp(
-                    imei=zmsg.imei,
-                    when=zmsg.when,  # not the current time, but the original!
-                    packet=msg.Out(latitude=lat, longitude=lon).packed,
-                )
-                log.debug("Response for lat=%s, lon=%s: %s", lat, lon, resp)
-                zpush.send(resp.packed)
-            except Exception as e:
-                log.warning("Lookup for %s resulted in %s", msg, e)
-
-    except KeyboardInterrupt:
-        zsub.close()
-        zpush.close()
-        zctx.destroy()  # type: ignore
-        qry.shut()
-
-
-if __name__.endswith("__main__"):
-    runserver(common.init(log))
diff --git a/loctrkd/rectifier.py b/loctrkd/rectifier.py
new file mode 100644 (file)
index 0000000..5ef6d35
--- /dev/null
@@ -0,0 +1,62 @@
+""" Estimate coordinates from WIFI_POSITIONING and send back """
+
+from configparser import ConfigParser
+from datetime import datetime, timezone
+from importlib import import_module
+from logging import getLogger
+from os import umask
+from struct import pack
+import zmq
+
+from . import common
+from .zx303proto import parse_message, proto_name, WIFI_POSITIONING
+from .zmsg import Bcast, Resp, topic
+
+log = getLogger("loctrkd/rectifier")
+
+
+def runserver(conf: ConfigParser) -> None:
+    qry = import_module("." + conf.get("rectifier", "backend"), __package__)
+    qry.init(conf)
+    # Is this https://github.com/zeromq/pyzmq/issues/1627 still not fixed?!
+    zctx = zmq.Context()  # type: ignore
+    zsub = zctx.socket(zmq.SUB)  # type: ignore
+    zsub.connect(conf.get("collector", "publishurl"))
+    zsub.setsockopt(zmq.SUBSCRIBE, topic(proto_name(WIFI_POSITIONING)))
+    zpush = zctx.socket(zmq.PUSH)  # type: ignore
+    zpush.connect(conf.get("collector", "listenurl"))
+
+    try:
+        while True:
+            zmsg = Bcast(zsub.recv())
+            msg = parse_message(zmsg.packet)
+            log.debug(
+                "IMEI %s from %s at %s: %s",
+                zmsg.imei,
+                zmsg.peeraddr,
+                datetime.fromtimestamp(zmsg.when).astimezone(tz=timezone.utc),
+                msg,
+            )
+            try:
+                lat, lon = qry.lookup(
+                    msg.mcc, msg.mnc, msg.gsm_cells, msg.wifi_aps
+                )
+                resp = Resp(
+                    imei=zmsg.imei,
+                    when=zmsg.when,  # not the current time, but the original!
+                    packet=msg.Out(latitude=lat, longitude=lon).packed,
+                )
+                log.debug("Response for lat=%s, lon=%s: %s", lat, lon, resp)
+                zpush.send(resp.packed)
+            except Exception as e:
+                log.warning("Lookup for %s resulted in %s", msg, e)
+
+    except KeyboardInterrupt:
+        zsub.close()
+        zpush.close()
+        zctx.destroy()  # type: ignore
+        qry.shut()
+
+
+if __name__.endswith("__main__"):
+    runserver(common.init(log))
index df430233adbff50eddca0ac7c7bb217292df3e0f..761ea6721a267c832af4d3dfca910f6cbbb2dbb9 100644 (file)
@@ -52,7 +52,7 @@ class TestWithServers(TestCase):
             "dbfn": self.tmpfilebase + ".opencellid.sqlite",
             "downloadurl": f"http://localhost:{freeports[2]}/test/262.csv.gz",
         }
-        self.conf["lookaside"] = {
+        self.conf["rectifier"] = {
             "backend": "opencellid",
         }
         self.conf["wsgateway"] = {
index 4737f52bdddf94f403a91298513c8e2a9c0fd24d..88dea4f40f759d4fb7668512bb024dc10c96733c 100644 (file)
@@ -14,7 +14,7 @@ from loctrkd.ocid_dload import SCHEMA
 class Storage(TestWithServers):
     def setUp(self, *args: str, **kwargs: Any) -> None:
         super().setUp(
-            "collector", "storage", "lookaside", "termconfig", verbose=True
+            "collector", "storage", "rectifier", "termconfig", verbose=True
         )
         with connect(self.conf.get("opencellid", "dbfn")) as ldb:
             ldb.execute(SCHEMA)