From 2eba9954af16df191ddce0bc4699fbb526eba748 Mon Sep 17 00:00:00 2001 From: lunar-mining Date: Tue, 21 Jun 2022 17:39:04 +0200 Subject: [PATCH] dnetview: display external_addr as null when it's a null value --- bin/dnetview/src/view.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/bin/dnetview/src/view.rs b/bin/dnetview/src/view.rs index c55cee467..d683f38cb 100644 --- a/bin/dnetview/src/view.rs +++ b/bin/dnetview/src/view.rs @@ -18,6 +18,8 @@ use crate::{ model::{NodeInfo, SelectableObject}, }; +use log::debug; + #[derive(Debug)] pub struct View { pub nodes: NodeInfoView, @@ -94,6 +96,8 @@ impl View { let mut id_list = self.render_id_list(f, slice.clone())?; + // might not need this + // also assert in test case might be better id_list.dedup(); if id_list.is_empty() { // we have not received any data @@ -224,15 +228,16 @@ impl View { let info = self.selectables.get(&selected); match info { - Some(SelectableObject::Node(node)) => { - if node.external_addr.is_some() { - let node_info = Span::styled( - format!("External addr: {}", node.external_addr.as_ref().unwrap()), - style, - ); + Some(SelectableObject::Node(node)) => match &node.external_addr { + Some(addr) => { + let node_info = Span::styled(format!("External addr: {}", addr), style); lines.push(Spans::from(node_info)); } - } + None => { + let node_info = Span::styled(format!("External addr: Null"), style); + lines.push(Spans::from(node_info)); + } + }, Some(SelectableObject::Session(session)) => { if session.accept_addr.is_some() { let session_info = Span::styled(