diff --git a/diagrams_dscr/src/diagrams_dscr/__about__.py b/diagrams_dscr/src/diagrams_dscr/__about__.py index ef0b503..a5bf840 100644 --- a/diagrams_dscr/src/diagrams_dscr/__about__.py +++ b/diagrams_dscr/src/diagrams_dscr/__about__.py @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: 2025-present denirz # # SPDX-License-Identifier: MIT -__version__ = "0.0.1a2" +__version__ = "0.0.1a3" diff --git a/diagrams_dscr/src/diagrams_dscr/dot_describe.py b/diagrams_dscr/src/diagrams_dscr/dot_describe.py index 2425747..364cf79 100644 --- a/diagrams_dscr/src/diagrams_dscr/dot_describe.py +++ b/diagrams_dscr/src/diagrams_dscr/dot_describe.py @@ -101,7 +101,18 @@ def enrichedges_with_node_names(self): for edge in self.edges: edge["source_name"] = node_dict.get(edge["source_id"], "") edge["dest_name"] = node_dict.get(edge["dest_id"], "") - + node_ip = {node["id"]: node.get("ip", "-") for node in self.nodes} + for edge in self.edges: + edge["source_ip"] = node_ip.get(edge["source_id"], "") + edge["dest_ip"] = node_ip.get(edge["dest_id"], "") + node_dns = {node["id"]: node.get("dns", "-") for node in self.nodes} + for edge in self.edges: + edge["source_dns"] = node_dns.get(edge["source_id"], "") + edge["dest_dns"] = node_dns.get(edge["dest_id"], "") + node_asid = {node["id"]: node.get("asid", "-") for node in self.nodes} + for edge in self.edges: + edge["source_asid"] = node_asid.get(edge["source_id"], "") + edge["dest_asid"] = node_asid.get(edge["dest_id"], "") def outputEdges( self, filename=None, listFields=False, Fields=None ): @@ -126,3 +137,5 @@ def outputEdges( df[Fields].to_csv(filename) else: df.to_csv(filename) + + diff --git a/diagrams_dscr/tests/test_dot_describe.py b/diagrams_dscr/tests/test_dot_describe.py index 4687eb8..39b7dff 100644 --- a/diagrams_dscr/tests/test_dot_describe.py +++ b/diagrams_dscr/tests/test_dot_describe.py @@ -72,5 +72,6 @@ def test_outputEdges_fieldlist(capsys, diagram_init): print(res) assert isinstance(res, list) dd.outputEdges( - Fields=["source_name", "dest_name", "headlabel", "label", "description"] + # Fields=["source_name", "dest_name", "headlabel", "label", "description"] + Fields=["source_name", "dest_name", "headlabel", "label", "description", "source_ip", "dest_ip", "source_dns", "dest_dns"] )