From 28a3819140598860a6e646fd1a2843692648c449 Mon Sep 17 00:00:00 2001 From: inso <insomniak.fr@gmaiL.com> Date: Thu, 30 Nov 2017 22:37:05 +0100 Subject: [PATCH] Fix handling on unknown peer in data --- src/sakia/data/connectors/node.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/sakia/data/connectors/node.py b/src/sakia/data/connectors/node.py index fcb2b475..b8253819 100644 --- a/src/sakia/data/connectors/node.py +++ b/src/sakia/data/connectors/node.py @@ -336,9 +336,17 @@ class NodeConnector(QObject): if not leaf_data: break self.refresh_peer_data(leaf_data['leaf']['value']) - except (AttributeError, ValueError, errors.DuniterError) as e: + except (AttributeError, ValueError) as e: self._logger.debug("Incorrect peer data in {leaf} : {err}".format(leaf=leaf_hash, err=str(e))) self.change_state_and_emit(Node.OFFLINE) + except errors.DuniterError as e: + if e.ucode == 2012: + # Since with multinodes, peers or not the same on all nodes, sometimes this request results + # in peer not found error + self._logger.debug(str(e)) + else: + self.change_state_and_emit(Node.OFFLINE) + self._logger.debug("Incorrect peer data in {leaf} : {err}".format(leaf=leaf_hash, err=str(e))) else: self.node.merkle_peers_root = peers_data['root'] self.node.merkle_peers_leaves = tuple(peers_data['leaves']) -- GitLab