topo: add __getitem__ for Graph

Commit 65c35b65 'Remove networkx dependency' broke this line from RipL:

    nodes = [n for n in self.g[name] if self.layer(n) == layer]

To work around this, RipL code would have to be changed to something
like this:

    nodes = [n for n in self.g.data[name] if self.layer(n) == layer]

...which would use an internal variable, data.

It seems cleaner to add this one little feature from NetworkX Graph objects.
This commit is contained in:
Brandon Heller
2013-06-20 16:27:17 -07:00
parent 40b13c28b8
commit 4e1630e126
+4
View File
@@ -40,6 +40,10 @@ class Graph( object ):
for dest in self.data[ src ]:
yield ( src, dest )
def __getitem__( self, node ):
"Return link dict for the given node"
return self.data[node]
class Topo(object):
"Data center network representation for structured multi-trees."