示例#1
0
    def get(self):
        loader = tornado.template.Loader("templates/")


        if (self.get_argument("origCity") == self.get_argument("desCity")):
            self.write(loader.load("errorResponse.html").generate(msg="The origin and destination city you entered are the same"))
        else:
            date = self.get_argument("tDate")
            date = '/'.join(reversed(date.split('-')))
            prefs = self.get_argument("prefs").split(',')
            prefs[prefs.index("ffp")] = self.get_argument("ffpAirline")
            n = self.get_argument("number")
            n = int(n) if n else 0
            q = flightClasses.Query(
                    date,
                    self.get_argument("depTime"),
                    self.get_argument("origCity"),
                    self.get_argument("desCity"),
                    prefs[0],
                    prefs[1],
                    prefs[2],
                    n)
            try:
                solutions = algorithm.getFlightSolutions(q,g);
                if len(solutions) > 0:
                    self.write(loader.load("queryResponse.html").generate(trips = solutions))
                else:
                    self.write(loader.load("noFlights.html").generate())
            except Exception as e:
                self.write(loader.load("errorResponse.html").generate(msg="Please check your input, and try again"))
示例#2
0
    def get(self):
        loader = tornado.template.Loader("templates/")

        if self.get_argument("origCity") == self.get_argument("desCity"):
            self.write(
                loader.load("errorResponse.html").generate(
                    msg="The origin and destination city you entered are the same"
                )
            )
        else:
            date = self.get_argument("tDate")
            date = "/".join(reversed(date.split("-")))
            prefs = self.get_argument("prefs").split(",")
            prefs[prefs.index("ffp")] = self.get_argument("ffpAirline")
            n = self.get_argument("number")
            n = int(n) if n else 0
            q = flightClasses.Query(
                date,
                self.get_argument("depTime"),
                self.get_argument("origCity"),
                self.get_argument("desCity"),
                prefs[0],
                prefs[1],
                prefs[2],
                n,
            )
            try:
                solutions = algorithm.getFlightSolutions(q, g)
                if len(solutions) > 0:
                    self.write(loader.load("queryResponse.html").generate(trips=solutions))
                else:
                    self.write(loader.load("noFlights.html").generate())
            except Exception as e:
                self.write(loader.load("errorResponse.html").generate(msg="Please check your input, and try again"))
示例#3
0
def makeQueries(filename):
    """creates a graph(list of cities) from the flightdata file
    returns a list of cities (each containing a list of flights)"""
    f = open(filename, 'r')
    queries = []
    for q in f.read().replace("\n",
                              "").replace("]",
                                          "").replace(" ",
                                                      "").strip().split("["):
        if q != "":
            q = q.replace("(", "")
            q = q.replace(")", "")
            parts = q.split(',')
            currQ = flightClasses.Query(parts[0], parts[1], parts[2], parts[3],
                                        parts[4], parts[5], parts[6],
                                        int(parts[7]))
            queries.append(currQ)
    return queries


#testing file for the project
g = graph.makeGraph(sys.argv[1])

q = makeQueries(sys.argv[2])

for k in q:
    x = algorithm.getFlightSolutions(k, g)
    ret = str(flightClasses.printSolutions(k, x)) + "\n"
    print(ret)
示例#4
0
import sys


def makeQueries(filename):
    """creates a graph(list of cities) from the flightdata file
    returns a list of cities (each containing a list of flights)"""
    f = open(filename, "r")
    queries = []
    for q in f.read().replace("\n", "").replace("]", "").replace(" ", "").strip().split("["):
        if q != "":
            q = q.replace("(", "")
            q = q.replace(")", "")
            parts = q.split(",")
            currQ = flightClasses.Query(
                parts[0], parts[1], parts[2], parts[3], parts[4], parts[5], parts[6], int(parts[7])
            )
            queries.append(currQ)
    return queries


# testing file for the project
g = graph.makeGraph(sys.argv[1])

q = makeQueries(sys.argv[2])


for k in q:
    x = algorithm.getFlightSolutions(k, g)
    ret = str(flightClasses.printSolutions(k, x)) + "\n"
    print(ret)