From 09ff99faa05574c8a0845cbfd47c5f3993eeeee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 30 Sep 2015 22:42:38 -0400 Subject: [PATCH] scanner: handle search failure --- python/tools/scanner.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/python/tools/scanner.py b/python/tools/scanner.py index 4b9a3069..d58d9e44 100755 --- a/python/tools/scanner.py +++ b/python/tools/scanner.py @@ -114,20 +114,23 @@ def step(cur_h, cur_depth): def nextstep(cur_h, cur_depth, ok, nodes, arc=None, lines=[]): global done, all_nodes - if arc: - arc.remove() - del arc - for l in lines: - l.set_color('#444444') - snodes = NodeSet() - snodes.extend(nodes) - all_nodes.extend(nodes) - depth = min(6, InfoHash.commonBits(snodes.first(), snodes.last())+4) - if cur_depth < depth: - for b in range(cur_depth, depth): - new_h = InfoHash(cur_h.toString()); - new_h.setBit(b, 1); - step(new_h, b+1); + if nodes: + if arc: + arc.remove() + del arc + for l in lines: + l.set_color('#444444') + snodes = NodeSet() + snodes.extend(nodes) + all_nodes.extend(nodes) + depth = min(6, InfoHash.commonBits(snodes.first(), snodes.last())+4) + if cur_depth < depth: + for b in range(cur_depth, depth): + new_h = InfoHash(cur_h.toString()); + new_h.setBit(b, 1); + step(new_h, b+1); + else: + print("step done with no nodes", ok, cur_h.toString().decode()) done -= 1 run = True -- GitLab