Source code for fnss.adapters.autonetkit

"""Adapter for AutoNetkit.

This module contains function for converting FNSS Topology objects into
NetworkX graph objects compatible with AutoNetKit and viceversa.
"""
from fnss import rename_edge_attribute


__all__ = [
    'from_autonetkit',
    'to_autonetkit'
           ]


[docs]def to_autonetkit(topology): """Convert an FNSS topology into a NetworkX graph object compatible for AutoNetKit. The returned graph can be saved into a GraphML file using NetworkX *write_graphml* function and then passed to AutoNetKit as command line parameter. The current implementation of this function only renames the weight attribute from *weight* to *ospf_cost* Parameters ---------- topology : FNSS Topology Autonetkit topology object Returns ------- ank_graph : FNSS topology an FNSS topology compatible for import to AutoNetKit """ topology = topology.copy() rename_edge_attribute(topology, 'weight', 'ospf_cost') return topology
[docs]def from_autonetkit(topology): """Convert an AutoNetKit graph into an FNSS Topology object. The current implementation of this function only renames the weight attribute from *weight* to *ospf_cost* Parameters ---------- topology : NetworkX graph An AutoNetKit NetworkX graph Returns ------- fnss_topology : FNSS Topology FNSS topology """ topology = topology.copy() rename_edge_attribute(topology, 'ospf_cost', 'weight') return topology