From 4ff99688de8e5d83f7ebb65563916f34591d3d2c Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Wed, 6 Apr 2022 21:41:58 +0200 Subject: [PATCH] Added hops display to node info. Fixed node info display for unknown ops and addresses. --- nomadnet/Node.py | 2 +- nomadnet/ui/textui/Network.py | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/nomadnet/Node.py b/nomadnet/Node.py index 3c21a31..e1ea5df 100644 --- a/nomadnet/Node.py +++ b/nomadnet/Node.py @@ -131,7 +131,7 @@ def serve_page(self, path, data, request_id, remote_identity, requested_at): except Exception as e: RNS.log("Error while fetching list of allowed identities for request: "+str(e), RNS.LOG_ERROR) - if remote_identity.hash in allowed_list: + if hasattr(remote_identity, "hash") and remote_identity.hash in allowed_list: request_allowed = True else: request_allowed = False diff --git a/nomadnet/ui/textui/Network.py b/nomadnet/ui/textui/Network.py index 51f13f6..f080f0b 100644 --- a/nomadnet/ui/textui/Network.py +++ b/nomadnet/ui/textui/Network.py @@ -493,11 +493,29 @@ def save_node(sender): ] node_ident = RNS.Identity.recall(source_hash) - op_hash = RNS.Destination.hash_from_name_and_identity("lxmf.delivery", node_ident) - op_str = self.app.directory.simplest_display_str(op_hash) + if node_ident != None: + op_hash = RNS.Destination.hash_from_name_and_identity("lxmf.delivery", node_ident) + op_str = self.app.directory.simplest_display_str(op_hash) + else: + op_str = "Unknown" + operator_entry = urwid.Text("Operator : "+op_str, align="left") pile_widgets.insert(4, operator_entry) + hops = RNS.Transport.hops_to(source_hash) + if hops == 1: + str_s = "" + else: + str_s = "s" + + if hops != RNS.Transport.PATHFINDER_M: + hops_str = str(hops)+" hop"+str_s + else: + hops_str = "Unknown" + + operator_entry = urwid.Text("Distance : "+hops_str, align="left") + pile_widgets.insert(5, operator_entry) + pile = urwid.Pile(pile_widgets) self.display_widget = urwid.Filler(pile, valign="top", height="pack")