Esempio n. 1
0
def get_stop_by_id(id):
    data = get_data_from_json(INFO_URL % quote(id))
    stop = Stop(
        data["id"],
        data["name"],
        float(data["latitude"]),
        float(data["longitude"]),
        data["city"],
    )
    stopPoints = []
    for i in data["stopPoints"]:
        stopPoint = StopPoint(i["name"])
        routes = []
        stopPoint.setId(int(search("[0-9]+$", i["id"]).group()))
        for j in i["routes"]:
            route = Route(j["name"], j["line"]["name"])
            add = False
            if route.getLineName() in LINE_TRANSLATE:
                line_id = LINE_TRANSLATE[route.getLineName()]
                add = True
            else:
                try:
                    line_id = search("[0-9]+$", route.getLineName()).group()
                except AttributeError:
                    continue
                line_id = "%02d" % int(line_id)
                for i in LINE_TYPES:
                    if route.getLineName()[0:len(i)] == i:
                        add = True
                        break
            if add:
                route.setId(line_id)
                routes.append(route)
                stopPoint.setRoutes(routes)
        if stopPoint.getRoutes() != []:
            stopPoints.append(stopPoint)
            stop.setStopPoints(stopPoints)
    return stop