From 2008a80b91f5b37ad4d2a25a1ed838584dafad52 Mon Sep 17 00:00:00 2001 From: wildekat <1102981+wildekat@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:35:52 +0300 Subject: [PATCH 1/5] str_list_with_prefix: remove unnecessary brackets --- src/tor_relay_scanner/scanner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tor_relay_scanner/scanner.py b/src/tor_relay_scanner/scanner.py index b511c8d..3c39f84 100644 --- a/src/tor_relay_scanner/scanner.py +++ b/src/tor_relay_scanner/scanner.py @@ -124,7 +124,7 @@ def start_browser(): def str_list_with_prefix(prefix, list_): - return "\n".join([prefix + r for r in list_]) + return "\n".join(prefix + r for r in list_) async def main_async(args): From 1948469b3148512c384d4fb51777e46321175a01 Mon Sep 17 00:00:00 2001 From: wildekat <1102981+wildekat@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:39:06 +0300 Subject: [PATCH 2/5] main_async: typo (constrains -> constraints) --- src/tor_relay_scanner/scanner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tor_relay_scanner/scanner.py b/src/tor_relay_scanner/scanner.py index 3c39f84..a4e3919 100644 --- a/src/tor_relay_scanner/scanner.py +++ b/src/tor_relay_scanner/scanner.py @@ -168,7 +168,7 @@ async def main_async(args): relays_new.append(relay_copy) relays = relays_new if not relays: - print("There are no relays within specified port number constrains!", file=sys.stderr) + print("There are no relays within specified port number constraints!", file=sys.stderr) print("Try changing port numbers.", file=sys.stderr) return 2 From 4dbf93f8fe5294b20c95b02ab0dc828586f67e42 Mon Sep 17 00:00:00 2001 From: wildekat <1102981+wildekat@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:55:12 +0300 Subject: [PATCH 3/5] main_async: use chunked_list() instead of explicit indices --- src/tor_relay_scanner/scanner.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/tor_relay_scanner/scanner.py b/src/tor_relay_scanner/scanner.py index a4e3919..06caf77 100644 --- a/src/tor_relay_scanner/scanner.py +++ b/src/tor_relay_scanner/scanner.py @@ -127,6 +127,11 @@ def str_list_with_prefix(prefix, list_): return "\n".join(prefix + r for r in list_) +def chunked_list(l, size): + for i in range(0, len(l), size): + yield l[i:i+size] + + async def main_async(args): NUM_RELAYS = args.num_relays WORKING_RELAY_NUM_GOAL = args.working_relay_num_goal @@ -173,29 +178,22 @@ async def main_async(args): return 2 working_relays = list() - ntry = 0 - relaypos = 0 numtries = round(len(relays) / NUM_RELAYS) - for ntry in range(numtries): + for ntry, chunk in enumerate(chunked_list(relays, NUM_RELAYS)): if len(working_relays) >= WORKING_RELAY_NUM_GOAL: break - relaynum = min(NUM_RELAYS, len(relays) - relaypos - 1) - test_relays = [TorRelay(relays[x]) - for x in range(relaypos, relaypos+relaynum)] - relaypos += NUM_RELAYS - - if not test_relays: - break + relaynum = len(chunk) + test_relays = [TorRelay(r) for r in chunk] print( - f"\nTry {ntry}/{numtries}, We'll test the following {NUM_RELAYS} random relays:", file=sys.stderr) + f"\nTry {ntry+1}/{numtries}, We'll test the following {relaynum} random relays:", file=sys.stderr) for relay in test_relays: print(relay, file=sys.stderr) print("", file=sys.stderr) if ntry: - print(f"Found {len(working_relays)} good relays so far. Test {ntry}/{numtries} started…", file=sys.stderr) + print(f"Found {len(working_relays)} good relays so far. Test {ntry+1}/{numtries} started…", file=sys.stderr) else: print(f"Test started…", file=sys.stderr) From a1bee3d3c34d5511fb365be0d1643408cc530131 Mon Sep 17 00:00:00 2001 From: wildekat <1102981+wildekat@users.noreply.github.com> Date: Mon, 17 Jun 2024 20:01:13 +0300 Subject: [PATCH 4/5] main_async: numtries is calculated incorrectly --- src/tor_relay_scanner/scanner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tor_relay_scanner/scanner.py b/src/tor_relay_scanner/scanner.py index 06caf77..ebecb8a 100644 --- a/src/tor_relay_scanner/scanner.py +++ b/src/tor_relay_scanner/scanner.py @@ -178,7 +178,7 @@ async def main_async(args): return 2 working_relays = list() - numtries = round(len(relays) / NUM_RELAYS) + numtries = (len(relays) + NUM_RELAYS - 1) // NUM_RELAYS for ntry, chunk in enumerate(chunked_list(relays, NUM_RELAYS)): if len(working_relays) >= WORKING_RELAY_NUM_GOAL: break From 480e2cfeea8b3628a77cbfdd1ace72c6384b69f5 Mon Sep 17 00:00:00 2001 From: wildekat <1102981+wildekat@users.noreply.github.com> Date: Mon, 17 Jun 2024 20:05:34 +0300 Subject: [PATCH 5/5] main_async: "" is not needed in print("", file=...) --- src/tor_relay_scanner/scanner.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tor_relay_scanner/scanner.py b/src/tor_relay_scanner/scanner.py index ebecb8a..38e8c5d 100644 --- a/src/tor_relay_scanner/scanner.py +++ b/src/tor_relay_scanner/scanner.py @@ -190,7 +190,7 @@ async def main_async(args): f"\nTry {ntry+1}/{numtries}, We'll test the following {relaynum} random relays:", file=sys.stderr) for relay in test_relays: print(relay, file=sys.stderr) - print("", file=sys.stderr) + print(file=sys.stderr) if ntry: print(f"Found {len(working_relays)} good relays so far. Test {ntry+1}/{numtries} started…", file=sys.stderr) @@ -201,7 +201,7 @@ async def main_async(args): for relay in test_relays: tasks.append(asyncio.create_task(relay.check(TIMEOUT))) fin = await asyncio.gather(*tasks) - print("", file=sys.stderr) + print(file=sys.stderr) print("The following relays are reachable this try:", file=sys.stderr) for relay in test_relays: @@ -214,7 +214,7 @@ async def main_async(args): print("No relays are reachable this try.", file=sys.stderr) if ntry > 1: - print("", file=sys.stderr) + print(file=sys.stderr) print("All reachable relays:", file=sys.stderr) for relay in working_relays: if relay: