From 42334c866cb3d73fdd8badb882fa7508e89273ea Mon Sep 17 00:00:00 2001 From: Benjamin Braatz Date: Tue, 14 Dec 2021 23:40:46 +0100 Subject: [PATCH] Use new-style register. --- controlpi_plugins/wsclient.py | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/controlpi_plugins/wsclient.py b/controlpi_plugins/wsclient.py index 1ddcbc0..dd6dc96 100644 --- a/controlpi_plugins/wsclient.py +++ b/controlpi_plugins/wsclient.py @@ -113,22 +113,6 @@ class WSClient(BasePlugin): 'items': {'type': 'object'}}}, 'required': ['url', 'up filter', 'down filter']} - async def _receive(self, message: Message) -> None: - if not self._websocket: - return - translated_message = translate_message(message, - self._client, self.name) - if translated_message is not None: - json_message = json.dumps(translated_message) - await self._websocket.send(json_message) - - async def _send(self, json_message: str) -> None: - message = json.loads(json_message) - translated_message = translate_message(message, - self.name, self._client) - if translated_message is not None: - await self.bus.send(Message(self.name, translated_message)) - def process_conf(self) -> None: """Register plugin as bus client.""" self._websocket: Optional[WebSocketClientProtocol] = None @@ -156,8 +140,17 @@ class WSClient(BasePlugin): receives = [] for template in self.conf['up filter']: receives.append(MessageTemplate(template)) - self.bus.register(self.name, 'WSClient', sends, receives, - self._receive) + self.bus.register(self.name, 'WSClient', sends, + [(receives, self._receive)]) + + async def _receive(self, message: Message) -> None: + if not self._websocket: + return + translated_message = translate_message(message, + self._client, self.name) + if translated_message is not None: + json_message = json.dumps(translated_message) + await self._websocket.send(json_message) async def run(self) -> None: """Connect to wsserver and process messages from it.""" @@ -205,3 +198,10 @@ class WSClient(BasePlugin): except (OSError, InvalidMessage, concurrent.futures.TimeoutError): pass await asyncio.sleep(1) + + async def _send(self, json_message: str) -> None: + message = json.loads(json_message) + translated_message = translate_message(message, + self.name, self._client) + if translated_message is not None: + await self.bus.send(Message(self.name, translated_message)) -- 2.34.1