diff --git a/src/sakia/data/connectors/bma.py b/src/sakia/data/connectors/bma.py index 154c5ff5714b15fc98dda875e6c2f6eaad1b9984..6515f5d0727ca3598316c66e3c07aa7939844483 100644 --- a/src/sakia/data/connectors/bma.py +++ b/src/sakia/data/connectors/bma.py @@ -248,6 +248,9 @@ class BmaConnector: ValueError, jsonschema.ValidationError) as e: self._logger.debug(str(e)) tries += 1 + except AttributeError as e: + if ("feed_appdata", "do_handshake") in str(e): + self._logger.debug(str(e)) raise NoPeerAvailable("", len(endpoints)) async def get(self, currency, request, req_args={}, verify=True): diff --git a/src/sakia/data/connectors/node.py b/src/sakia/data/connectors/node.py index ed9ec1b9cbfaf1eb3523b8df480690553629e366..ee20a010514f3b119b1d0d659e2bd0827ab81bd7 100644 --- a/src/sakia/data/connectors/node.py +++ b/src/sakia/data/connectors/node.py @@ -126,6 +126,11 @@ class NodeConnector(QObject): pass else: raise + except AttributeError as e: + if ("feed_appdata", "do_handshake") in str(e): + self._logger.debug(str(e)) + else: + raise async def init_session(self): if not self.session: @@ -197,6 +202,11 @@ class NodeConnector(QObject): pass else: raise + except AttributeError as e: + if ("feed_appdata", "do_handshake") in str(e): + self._logger.debug(str(e)) + else: + raise finally: self._connected['block'] = False self._ws_tasks['block'] = None @@ -335,6 +345,11 @@ class NodeConnector(QObject): pass else: raise + except AttributeError as e: + if ("feed_appdata", "do_handshake") in str(e): + self._logger.debug(str(e)) + else: + raise finally: self._connected['peer'] = False self._ws_tasks['peer'] = None @@ -364,8 +379,11 @@ class NodeConnector(QObject): break self.refresh_peer_data(leaf_data['leaf']['value']) except (AttributeError, ValueError) as e: - self._logger.debug("Incorrect peer data in {leaf} : {err}".format(leaf=leaf_hash, err=str(e))) - self.handle_failure() + if ("feed_appdata", "do_handshake") in str(e): + self._logger.debug(str(e)) + else: + self._logger.debug("Incorrect peer data in {leaf} : {err}".format(leaf=leaf_hash, err=str(e))) + self.handle_failure() except errors.DuniterError as e: if e.ucode == 2012: # Since with multinodes, peers or not the same on all nodes, sometimes this request results