def distancesCommand(self, scanner):
     """distances start -- Compute distance to each node from start"""
     start = self.scanNode(scanner)
     applyDijkstra(self.graph, start)
     for node in sorted(self.graph.getNodes(), key=getDistance):
         dstr = str(node.distance)
         if dstr.endswith(".0"):
             dstr = dstr[:-2]
         print(str(node) + ": " + dstr)
Example #2
0
 def pathsCommand(self, scanner):
     """paths start -- Compute shortest path to each node from start"""
     start = self.scanNode(scanner)
     applyDijkstra(self.graph, start)
     for node in sorted(self.graph.getNodes(), key=getDistance):
         dstr = str(node.distance)
         if dstr.endswith(".0"):
             dstr = dstr[:-2]
         print(getPath(node) + " (" + dstr + ")")
    def pathCommand(self, scanner):
        """path start finish -- Compute shortest path from start to finish"""
        start = self.scanNode(scanner)
        finish = self.scanNode(scanner)

        applyDijkstra(self.graph, start, finish)

        #for node in sorted(self.graph.getNodes(), key=getDistance):
        #    print(getPath(node)  + "(" + str(node.distance) +")" )
        """holddistance = finish.distance
        holdpath = finish
        for node in sorted(self.graph.getNodes(), key=getDistance):
            if node.distance < holddistance:
                holddistance = node.distance
                holdpath = node"""

        #The shortest path between the two is...
        print(getPath(finish) + "(" + str(finish.distance) + ")")