bytes(self.conf['interface'],
'utf-8')[:15]))
self._mac = ':'.join('%02x' % b for b in info[18:24])
+ sends = []
+ sends.append(MessageTemplate({'event':
+ {'const': 'registered'}}))
+ sends.append(MessageTemplate({'event':
+ {'const': 'connection opened'}}))
+ sends.append(MessageTemplate({'event':
+ {'const': 'connection closed'}}))
+ for template in self.conf['down filter']:
+ sends.append(MessageTemplate(template))
+ receives = []
+ for template in self.conf['up filter']:
+ receives.append(MessageTemplate(template))
+ self.bus.register(self.name, 'WSClient', sends, receives,
+ self._receive)
async def run(self) -> None:
"""Connect to wsserver and process messages from it."""
self._client = f"{address}:{port}"
if 'interface' in self.conf:
conf_command['mac'] = self._mac
- sends = []
- sends.append(MessageTemplate({'event':
- {'const': 'registered'}}))
- sends.append(MessageTemplate({'event':
- {'const':
- 'connection opened'}}))
- sends.append(MessageTemplate({'event':
- {'const':
- 'connection closed'}}))
- for template in self.conf['down filter']:
- template = translate_template(template,
- self.name, self._client)
- sends.append(MessageTemplate(template))
- self.bus.register(self.name, 'WSClient', sends,
- self.conf['up filter'], self._receive)
up_filter = []
for template in self.conf['up filter']:
template = translate_template(template,
self._client, self.name)
up_filter.append(MessageTemplate(template))
+ down_filter = []
+ for template in self.conf['down filter']:
+ template = translate_template(template,
+ self._client, self.name)
+ down_filter.append(MessageTemplate(template))
conf_command['up filter'] = up_filter
- conf_command['down filter'] = self.conf['down filter']
+ conf_command['down filter'] = down_filter
json_command = json.dumps(conf_command)
await websocket.send(json_command)
await self.bus.send(Message(self.name,
await self.bus.send(Message(self.name,
{'event':
'connection closed'}))
- self.bus.unregister(self.name)
except OSError:
pass
await asyncio.sleep(1)