Skip to content
Snippets Groups Projects
Commit 634761b8 authored by Bob Lantz's avatar Bob Lantz
Browse files

Fix edges() and add convertTo() to Topo() (with keys option)

parent 01aac350
No related branches found
No related tags found
No related merge requests found
...@@ -73,7 +73,7 @@ def edges_iter( self, data=False, keys=False ): ...@@ -73,7 +73,7 @@ def edges_iter( self, data=False, keys=False ):
def edges( self, data=False, keys=False ): def edges( self, data=False, keys=False ):
"Return list of graph edges" "Return list of graph edges"
return list( self.edges_iter( data=data, keys=key ) ) return list( self.edges_iter( data=data, keys=keys ) )
def __getitem__( self, node ): def __getitem__( self, node ):
...@@ -84,12 +84,13 @@ def __len__( self ): ...@@ -84,12 +84,13 @@ def __len__( self ):
"Return the number of nodes" "Return the number of nodes"
return len( self.node ) return len( self.node )
def convertTo( self, cls, data=False ): def convertTo( self, cls, data=False, keys=False ):
"""Convert to a new object of networkx.MultiGraph-like class cls """Convert to a new object of networkx.MultiGraph-like class cls
data: include node and edge data""" data: include node and edge data
keys: include edge keys as well as edge data"""
g = cls() g = cls()
g.add_nodes_from( self.nodes( data=data ) ) g.add_nodes_from( self.nodes( data=data ) )
g.add_edges_from( self.edges( data=data ) ) g.add_edges_from( self.edges( data=( data or keys ), keys=keys ) )
return g return g
...@@ -266,6 +267,12 @@ def setNodeInfo( self, name, info ): ...@@ -266,6 +267,12 @@ def setNodeInfo( self, name, info ):
"Set metadata (dict) for node" "Set metadata (dict) for node"
self.g.node[ name ] = info self.g.node[ name ] = info
def convertTo( self, cls, data=True, keys=True ):
"""Convert to a new object of networkx.MultiGraph-like class cls
data: include node and edge data (default True)
keys: include edge keys as well as edge data (default True)"""
return self.g.convertTo( cls, data=data, keys=keys )
@staticmethod @staticmethod
def sorted( items ): def sorted( items ):
"Items sorted in natural (i.e. alphabetical) order" "Items sorted in natural (i.e. alphabetical) order"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment