From 211e2f6dd0a320100542033c2526e194d8f67c6f Mon Sep 17 00:00:00 2001 From: NIC619 Date: Thu, 17 Oct 2019 15:52:57 +0800 Subject: [PATCH] Catch `PeerDataError` in `PeerStore.get` --- libp2p/peer/peerstore.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libp2p/peer/peerstore.py b/libp2p/peer/peerstore.py index c1eae37..a416c47 100644 --- a/libp2p/peer/peerstore.py +++ b/libp2p/peer/peerstore.py @@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional, Sequence from multiaddr import Multiaddr from .id import ID -from .peerdata import PeerData +from .peerdata import PeerData, PeerDataError from .peerinfo import PeerInfo from .peerstore_interface import IPeerStore @@ -54,7 +54,10 @@ class PeerStore(IPeerStore): def get(self, peer_id: ID, key: str) -> Any: if peer_id in self.peer_map: - val = self.peer_map[peer_id].get_metadata(key) + try: + val = self.peer_map[peer_id].get_metadata(key) + except PeerDataError as error: + raise PeerStoreError(error) return val raise PeerStoreError("peer ID not found")