Replaced nodelist and nodemap in CLI with mn

Updated Mininet to be more compliant with dict
Fixes #182
This commit is contained in:
Brian O'Connor
2013-08-09 12:20:13 -07:00
parent 6df4371df6
commit 8e04a9f844
2 changed files with 45 additions and 24 deletions
+16
View File
@@ -236,8 +236,24 @@ class Mininet( object ):
def __iter__( self ):
"return iterator over nodes"
#or dow we want to iterate of the keys i.e. node.name like a dict
return chain( self.hosts, self.switches, self.controllers )
def __len__( self ):
return len( self.hosts ) + len( self.switches ) + len( self.controllers )
def __contains__( self, item ):
return item in self.keys()
def keys( self ):
return [ node.name for node in self.__iter__() ]
def values( self ):
return list( self.__iter__() )
def items( self ):
return zip( self.keys(), self.values() )
def addLink( self, node1, node2, port1=None, port2=None,
cls=None, **params ):
""""Add a link from node1 to node2