From 557edb862028fcbec1a61d053d38812e4d85a1dc Mon Sep 17 00:00:00 2001 From: jorgen Date: Mon, 15 Sep 2014 21:39:11 +0200 Subject: [PATCH 1/2] SSL Timeout error --- setup.py | 2 +- socketIO_client/transports.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 639cb7d..76b5152 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.rst')).read() setup( name='socketIO-client', - version='0.5.3', + version='0.5.3b', description='A socket.io client library', long_description=README + '\n\n' + CHANGES, license='MIT', diff --git a/socketIO_client/transports.py b/socketIO_client/transports.py index ed4e59c..a49c0d9 100644 --- a/socketIO_client/transports.py +++ b/socketIO_client/transports.py @@ -151,7 +151,10 @@ class _WebsocketTransport(_AbstractTransport): except websocket.WebSocketTimeoutException as e: raise TimeoutError(e) except websocket.SSLError as e: - raise ConnectionError(e) + if e.message == "The read operation timed out": + raise TimeoutError(e) + else: + raise ConnectionError(e) except websocket.WebSocketConnectionClosedException as e: raise ConnectionError('connection closed (%s)' % e) except socket.error as e: From b0d67b98af947b6023605a71b24ccb8dc0298aac Mon Sep 17 00:00:00 2001 From: jorgen Date: Tue, 23 Sep 2014 06:27:27 +0200 Subject: [PATCH 2/2] Version bump --- setup.py | 2 +- socketIO_client/__init__.py | 35 ++++++++++++++++------------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/setup.py b/setup.py index 76b5152..b42b4a3 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ CHANGES = open(os.path.join(here, 'CHANGES.rst')).read() setup( name='socketIO-client', - version='0.5.3b', + version='0.5.3.2', description='A socket.io client library', long_description=README + '\n\n' + CHANGES, license='MIT', diff --git a/socketIO_client/__init__.py b/socketIO_client/__init__.py index 3bdecf1..bd0df20 100644 --- a/socketIO_client/__init__.py +++ b/socketIO_client/__init__.py @@ -167,26 +167,23 @@ class SocketIO(object): - Omit seconds, i.e. call wait() without arguments, to wait forever. """ - try: - warning_screen = _yield_warning_screen(seconds) - for elapsed_time in warning_screen: + warning_screen = _yield_warning_screen(seconds) + for elapsed_time in warning_screen: + try: try: - try: - self._process_events() - except TimeoutError: - pass - if self._stop_waiting(for_callbacks): - break - self.heartbeat_pacemaker.send(elapsed_time) - except ConnectionError as e: - try: - warning = Exception('[connection error] %s' % e) - warning_screen.throw(warning) - except StopIteration: - _log.warn(warning) - self.disconnect() - except KeyboardInterrupt: - pass + self._process_events() + except TimeoutError: + pass + if self._stop_waiting(for_callbacks): + break + self.heartbeat_pacemaker.send(elapsed_time) + except ConnectionError as e: + try: + warning = Exception('[connection error] %s' % e) + warning_screen.throw(warning) + except StopIteration: + _log.warn(warning) + self.disconnect() def _process_events(self): for packet in self._transport.recv_packet():