Răsfoiți Sursa

dnetview: display external_addr as null when it's a null value

lunar-mining 4 ani în urmă
părinte
comite
2eba9954af
1 a modificat fișierele cu 12 adăugiri și 7 ștergeri
  1. 12 7
      bin/dnetview/src/view.rs

+ 12 - 7
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(