|
a/pyforge/flyway/graph.py |
|
b/pyforge/flyway/graph.py |
|
... |
|
... |
49 |
'''Dijkstra's algorithm for shortest path from the start Node to any end
|
49 |
'''Dijkstra's algorithm for shortest path from the start Node to any end
|
50 |
Node'''
|
50 |
Node'''
|
51 |
# Find the start node
|
51 |
# Find the start node
|
52 |
start = dict((m, -1) for m in self._modules)
|
52 |
start = dict((m, -1) for m in self._modules)
|
53 |
start.update(start_requirements)
|
53 |
start.update(start_requirements)
|
|
|
54 |
start = dict((str(k), v) for k,v in start.iteritems()
|
|
|
55 |
if k in self._State._fields)
|
54 |
start_state = self._State(**start)
|
56 |
start_state = self._State(**start)
|
55 |
start = self.node_by_state[start_state]
|
57 |
start = self.node_by_state[start_state]
|
56 |
# Find the end node(s)
|
58 |
# Find the end node(s)
|
57 |
end = self.nodes_with(end_requirements)
|
59 |
end = self.nodes_with(end_requirements)
|
58 |
# Run the algorithm
|
60 |
# Run the algorithm
|