MCPcopy Create free account
hub / github.com/ActiveState/code / __setitem__

Method __setitem__

recipes/Python/578615_graph/recipe-578615.py:227–244  ·  view source on GitHub ↗

Set edge capacity. Will also update other vertex.reverse. >>> class myvertex(ReverseEdgeMixin, WVertex): ... pass >>> g = Graph(VertexType=myvertex) >>> g[1][2] = 3 >>> g[1], g[2].reverse ({2: 3}, {1: 3})

(self, tail, value)

Source from the content-addressed store, hash-verified

225 return sum(self.reverse.itervalues())
226
227 def __setitem__(self, tail, value):
228 """Set edge capacity. Will also update other vertex.reverse.
229
230 >>> class myvertex(ReverseEdgeMixin, WVertex):
231 ... pass
232 >>> g = Graph(VertexType=myvertex)
233 >>> g[1][2] = 3
234 >>> g[1], g[2].reverse
235 ({2: 3}, {1: 3})
236 """
237 #print tail, value
238 super(ReverseEdgeMixin, self).__setitem__(tail, value)
239 value = self[tail] #value may have been modified by other classes
240 if tail != self._id: #creates tail vertex so check value first
241 self._graph[tail].reverse[self._id] = value
242 #print self._graph[tail].reverse
243 else:
244 self.reverse[self._id] = value
245
246 def __delitem__(self, tail):
247 """Removes tail from self and self._id from tail.reverse.

Callers

nothing calls this directly

Calls 1

__setitem__Method · 0.45

Tested by

no test coverage detected