Skip to content

Commit 634761b

Browse files
committed
Fix edges() and add convertTo() to Topo() (with keys option)
1 parent 01aac35 commit 634761b

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

mininet/topo.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def edges_iter( self, data=False, keys=False ):
7373

7474
def edges( self, data=False, keys=False ):
7575
"Return list of graph edges"
76-
return list( self.edges_iter( data=data, keys=key ) )
76+
return list( self.edges_iter( data=data, keys=keys ) )
7777

7878

7979
def __getitem__( self, node ):
@@ -84,12 +84,13 @@ def __len__( self ):
8484
"Return the number of nodes"
8585
return len( self.node )
8686

87-
def convertTo( self, cls, data=False ):
87+
def convertTo( self, cls, data=False, keys=False ):
8888
"""Convert to a new object of networkx.MultiGraph-like class cls
89-
data: include node and edge data"""
89+
data: include node and edge data
90+
keys: include edge keys as well as edge data"""
9091
g = cls()
9192
g.add_nodes_from( self.nodes( data=data ) )
92-
g.add_edges_from( self.edges( data=data ) )
93+
g.add_edges_from( self.edges( data=( data or keys ), keys=keys ) )
9394
return g
9495

9596

@@ -266,6 +267,12 @@ def setNodeInfo( self, name, info ):
266267
"Set metadata (dict) for node"
267268
self.g.node[ name ] = info
268269

270+
def convertTo( self, cls, data=True, keys=True ):
271+
"""Convert to a new object of networkx.MultiGraph-like class cls
272+
data: include node and edge data (default True)
273+
keys: include edge keys as well as edge data (default True)"""
274+
return self.g.convertTo( cls, data=data, keys=keys )
275+
269276
@staticmethod
270277
def sorted( items ):
271278
"Items sorted in natural (i.e. alphabetical) order"

0 commit comments

Comments
 (0)