From dfddd73ca355f8f221df1b687dd4670493ecf023 Mon Sep 17 00:00:00 2001 From: moyosore Date: Wed, 14 Sep 2022 15:32:22 +0100 Subject: [PATCH] change protocol message action to enum --- ably/realtime/connection.py | 15 +++++++++------ ably/realtime/realtime.py | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ably/realtime/connection.py b/ably/realtime/connection.py index d5c79f0d..8ce3dcd2 100644 --- a/ably/realtime/connection.py +++ b/ably/realtime/connection.py @@ -16,6 +16,9 @@ class ConnectionState(Enum): CLOSED = 'closed' FAILED = 'failed' +class ProtocolMessageAction(Enum): + CONNECTED = 4 + ERROR = 9 class RealtimeConnection: def __init__(self, realtime): @@ -60,13 +63,13 @@ async def ws_read_loop(self): raw = await self.__websocket.recv() msg = json.loads(raw) action = msg['action'] - if action == 4: # CONNECTED - if self.__connected_future: - self.__connected_future.set_result(None) - self.__connected_future = None + if action == ProtocolMessageAction.CONNECTED: # CONNECTED + if self.connected_future: + self.connected_future.set_result(None) + self.connected_future = None else: - log.warn('CONNECTED message receieved but connected_future not set') - if action == 9: # ERROR + log.warn('CONNECTED message received but connected_future not set') + if action == ProtocolMessageAction: # ERROR error = msg["error"] if error['nonfatal'] is False: self.__state = ConnectionState.FAILED diff --git a/ably/realtime/realtime.py b/ably/realtime/realtime.py index 36cf1cbe..de70e41c 100644 --- a/ably/realtime/realtime.py +++ b/ably/realtime/realtime.py @@ -21,7 +21,7 @@ def __init__(self, key=None, **kwargs): if key is not None: options = Options(key=key, **kwargs) else: - raise ValueError("Key is missing. Provide an API key") + raise ValueError("Key is missing. Provide an API key.") self.__auth = Auth(self, options) self.__options = options