Optional name and MAC in connection.
authorBenjamin Braatz <bb@bbraatz.eu>
Tue, 27 Jul 2021 01:46:39 +0000 (03:46 +0200)
committerBenjamin Braatz <bb@bbraatz.eu>
Tue, 27 Jul 2021 01:46:39 +0000 (03:46 +0200)
controlpi_plugins/wsserver.py

index 17e7c29da85e792459a0ad9240e42d4c76a4931c..0114f8c25ff644b95dd62e6a0d604cf980f4bfa6 100644 (file)
@@ -66,7 +66,8 @@ class Connection:
                                                  {'event':
                                                   'connection closed'}))
                     self._bus.unregister(self._name)
-                    self._name = message['name']
+                    if 'name' in message:
+                        self._name = message['name']
                     sends = []
                     sends.append(MessageTemplate({'event':
                                                   {'const':
@@ -78,12 +79,13 @@ class Connection:
                         sends.append(template)
                     self._bus.register(self._name, 'WSServer', sends,
                                        message['down filter'], self._receive)
-                    await self._bus.send(Message(self._name,
-                                                 {'event':
-                                                  'connection opened',
-                                                  'address': self._address,
-                                                  'port': self._port,
-                                                  'mac': message['mac']}))
+                    open_message = Message(self._name)
+                    open_message['event'] = 'connection opened'
+                    open_message['address'] = self._address
+                    open_message['port'] = self._port
+                    if 'mac' in message:
+                        open_message['mac'] = message['mac']
+                    await self._bus.send(open_message)
                 else:
                     await self._bus.send(Message(self._name, message))
         except ConnectionClosed: