From 81623aeb596aa7459d2be38edd8e360b94c381b0 Mon Sep 17 00:00:00 2001 From: ValdikSS Date: Tue, 29 Mar 2022 16:24:16 +0300 Subject: [PATCH] Handle onionoo information download failure --- src/tor_relay_scanner/scanner.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/tor_relay_scanner/scanner.py b/src/tor_relay_scanner/scanner.py index 35f881e..e5216d4 100644 --- a/src/tor_relay_scanner/scanner.py +++ b/src/tor_relay_scanner/scanner.py @@ -60,7 +60,10 @@ class TorRelayGrabber: ), file=sys.stderr) def grab_parse(self): - return self.grab()["relays"] + grabbed = self.grab() + if grabbed: + grabbed = grabbed["relays"] + return grabbed class TorRelay: @@ -118,6 +121,9 @@ async def main_async(args): " working relays (or till the end)", file=sys.stderr) print("Downloading Tor Relay information from onionoo.torproject.org…", file=sys.stderr) relays = TorRelayGrabber(timeout=TIMEOUT).grab_parse() + if not relays: + print("Tor Relay information can't be downloaded!", file=sys.stderr) + return 1 print("Done!", file=sys.stderr) random.shuffle(relays)