diff sat/bridge/pb.py @ 3634:3c7a64d6f49f

bridge: bridge can now be set using environment variable: The `LIBERVIA_BRIDGE_NAME` environment variable can now be used to specify the bridge to use. If set and different from empty string, the environment has precedence over config file value. For `pb` bridge, the following environment variable can also be used: - LIBERVIA_BRIDGE_PB_CONNECTION_TYPE - LIBERVIA_BRIDGE_PB_HOST - LIBERVIA_BRIDGE_PB_PORT
author Goffi <goffi@goffi.org>
date Sat, 28 Aug 2021 15:26:02 +0200
parents d71a163c0861
children 524856bd7b19
line wrap: on
line diff
--- a/sat/bridge/pb.py	Fri Aug 27 14:59:47 2021 +0200
+++ b/sat/bridge/pb.py	Sat Aug 28 15:26:02 2021 +0200
@@ -19,6 +19,7 @@
 
 
 import dataclasses
+from functools import partial
 from pathlib import Path
 from twisted.spread import jelly, pb
 from twisted.internet import reactor
@@ -106,12 +107,8 @@
         log.info("Init Perspective Broker...")
         self.root = PBRoot()
         conf = config.parseMainConf()
-        conn_type = config.getConfig(
-            conf,
-            "",
-            "bridge_pb_connection_type",
-            "unix_socket"
-        )
+        getConf = partial(config.getConf, conf, "bridge_pb", "")
+        conn_type = getConf("connection_type", "unix_socket")
         if conn_type == "unix_socket":
             local_dir = Path(config.getConfig(conf, "", "local_dir")).resolve()
             socket_path = local_dir / "bridge_pb"
@@ -120,12 +117,7 @@
                 str(socket_path), pb.PBServerFactory(self.root), mode=0o600
             )
         elif conn_type == "socket":
-            port = int(config.getConfig(
-                conf,
-                "",
-                "bridge_pb_port",
-                8789
-            ))
+            port = int(getConf("port", 8789))
             log.info(f"using TCP Socket at port {port}")
             reactor.listenTCP(port, pb.PBServerFactory(self.root))
         else: