From 8c3b9d02bf3b5f14e6ff5ecc14b445e93197b494 Mon Sep 17 00:00:00 2001 From: Michael Pivato Date: Fri, 1 Mar 2019 15:46:04 +1030 Subject: [PATCH] Add try catch for broker, remove loading of configuration --- .../CentralisedDecision/messenger.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/DecisionSystem/CentralisedDecision/messenger.py b/DecisionSystem/CentralisedDecision/messenger.py index 9a18c27..73330cb 100644 --- a/DecisionSystem/CentralisedDecision/messenger.py +++ b/DecisionSystem/CentralisedDecision/messenger.py @@ -87,9 +87,8 @@ class Messenger: class MqttMessenger(Messenger): """A messenger that uses MQTT.""" - def __init__(self): - with open('config.json') as json_config: - self._cfg = json.load(json_config) + def __init__(self, configuration): + self._cfg = configuration self._client = mqtt.Client(client_id=str(random.randint(0,500))) self._client.on_connect = self.on_connect self._client.on_message = self.on_message @@ -116,13 +115,18 @@ class MqttMessenger(Messenger): self._client.publish(target, message, qos=1) def connect(self): - self._client.connect(self._cfg['mqtt']['host'], \ - int(self._cfg['mqtt']['port']), \ - int(self._cfg['mqtt']['timeout'])) + try: + self._client.connect(self._cfg['mqtt']['host'], \ + int(self._cfg['mqtt']['port']), \ + int(self._cfg['mqtt']['timeout'])) + except: + print("Could not connect to broker") + return False self._client.loop_start() + return True - def disconnec(self): + def disconnect(self): self._client.disconnect() @property