From b2a27dd64ac61c05b5230b445362baa25f335ef6 Mon Sep 17 00:00:00 2001 From: Koenkk Date: Tue, 28 Aug 2018 22:07:57 +0200 Subject: [PATCH] Implement basic graphviz networkmap. #252 --- lib/extension/networkMap.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/extension/networkMap.js b/lib/extension/networkMap.js index cc1be59f3..ab693afcb 100644 --- a/lib/extension/networkMap.js +++ b/lib/extension/networkMap.js @@ -14,6 +14,7 @@ class NetworkMap { // Set supported formats this.supportedFormats = { 'raw': this.raw, + 'graphviz': this.graphviz, }; } @@ -33,6 +34,18 @@ class NetworkMap { raw(topology) { return JSON.stringify(topology); } + + graphviz(topology) { + let text = 'digraph G {\n'; + topology.forEach((item) => { + text += ` "${item.ieeeAddr}" [label="${item.ieeeAddr} (${item.status})"];\n`; + text += ` "${item.ieeeAddr}" -> "${item.parent}" [label="${item.lqi}"]\n`; + }); + + text += '}'; + + return text; + } } module.exports = NetworkMap;