def __stop_times(self, request, api, departure_filter="", arrival_filter=""): req = request_pb2.Request() req.requested_api = api req._current_datetime = utils.date_to_timestamp(request['_current_datetime']) st = req.next_stop_times st.disable_geojson = request["disable_geojson"] st.departure_filter = departure_filter st.arrival_filter = arrival_filter if request["from_datetime"]: st.from_datetime = request["from_datetime"] if request["until_datetime"]: st.until_datetime = request["until_datetime"] st.duration = request["duration"] st.depth = request["depth"] if "nb_stoptimes" not in request: st.nb_stoptimes = 0 else: st.nb_stoptimes = request["nb_stoptimes"] st.count = request.get("count", 10) if "start_page" not in request: st.start_page = 0 else: st.start_page = request["start_page"] if request["items_per_schedule"]: st.items_per_schedule = request["items_per_schedule"] if request["forbidden_uris[]"]: for forbidden_uri in request["forbidden_uris[]"]: st.forbidden_uri.append(forbidden_uri) if request.get("calendar"): st.calendar = request["calendar"] st.realtime_level = utils.realtime_level_to_pbf(request['data_freshness']) resp = self.instance.send_and_receive(req) return resp
def journeys(self, origins, destinations, datetime, clockwise, journey_parameters): req = request_pb2.Request() req.requested_api = type_pb2.pt_planner for stop_point_id, access_duration in origins.items(): location = req.journeys.origin.add() location.place = stop_point_id location.access_duration = access_duration for stop_point_id, access_duration in destinations.items(): location = req.journeys.destination.add() location.place = stop_point_id location.access_duration = access_duration req.journeys.datetimes.append(datetime) req.journeys.clockwise = clockwise req.journeys.realtime_level = utils.realtime_level_to_pbf(journey_parameters.realtime_level) req.journeys.max_duration = journey_parameters.max_duration req.journeys.max_transfers = journey_parameters.max_transfers req.journeys.wheelchair = journey_parameters.wheelchair if journey_parameters.max_extra_second_pass: req.journeys.max_extra_second_pass = journey_parameters.max_extra_second_pass for uri in journey_parameters.forbidden_uris: req.journeys.forbidden_uris.append(uri) if journey_parameters.direct_path_duration is not None: req.journeys.direct_path_duration = journey_parameters.direct_path_duration return self.instance.send_and_receive(req)
def journeys(self, origins, destinations, datetime, clockwise, journey_parameters, bike_in_pt): req = request_pb2.Request() req.requested_api = type_pb2.pt_planner for stop_point_id, access_duration in origins.items(): location = req.journeys.origin.add() location.place = stop_point_id location.access_duration = access_duration for stop_point_id, access_duration in destinations.items(): location = req.journeys.destination.add() location.place = stop_point_id location.access_duration = access_duration req.journeys.night_bus_filter_max_factor = journey_parameters.night_bus_filter_max_factor req.journeys.night_bus_filter_base_factor = journey_parameters.night_bus_filter_base_factor req.journeys.datetimes.append(datetime) req.journeys.clockwise = clockwise req.journeys.realtime_level = utils.realtime_level_to_pbf( journey_parameters.realtime_level) req.journeys.max_duration = journey_parameters.max_duration req.journeys.max_transfers = journey_parameters.max_transfers req.journeys.wheelchair = journey_parameters.wheelchair if journey_parameters.max_extra_second_pass: req.journeys.max_extra_second_pass = journey_parameters.max_extra_second_pass for uri in journey_parameters.forbidden_uris: req.journeys.forbidden_uris.append(uri) for id in journey_parameters.allowed_id: req.journeys.allowed_id.append(id) if journey_parameters.direct_path_duration is not None: req.journeys.direct_path_duration = journey_parameters.direct_path_duration req.journeys.bike_in_pt = bike_in_pt if journey_parameters.min_nb_journeys: req.journeys.min_nb_journeys = journey_parameters.min_nb_journeys if journey_parameters.timeframe: req.journeys.timeframe_duration = int(journey_parameters.timeframe) if journey_parameters.depth: req.journeys.depth = journey_parameters.depth if journey_parameters.isochrone_center: req.journeys.isochrone_center.place = journey_parameters.isochrone_center req.journeys.isochrone_center.access_duration = 0 req.requested_api = type_pb2.ISOCHRONE return self.instance.send_and_receive(req)
def _create_journeys_request(self, origins, destinations, datetime, clockwise, journey_parameters, bike_in_pt): req = request_pb2.Request() req.requested_api = type_pb2.pt_planner for stop_point_id, access_duration in origins.items(): location = req.journeys.origin.add() location.place = stop_point_id location.access_duration = access_duration for stop_point_id, access_duration in destinations.items(): location = req.journeys.destination.add() location.place = stop_point_id location.access_duration = access_duration req.journeys.night_bus_filter_max_factor = journey_parameters.night_bus_filter_max_factor req.journeys.night_bus_filter_base_factor = journey_parameters.night_bus_filter_base_factor req.journeys.datetimes.append(datetime) req.journeys.clockwise = clockwise req.journeys.realtime_level = utils.realtime_level_to_pbf( journey_parameters.realtime_level) req.journeys.max_duration = journey_parameters.max_duration req.journeys.max_transfers = journey_parameters.max_transfers req.journeys.wheelchair = journey_parameters.wheelchair if journey_parameters.max_extra_second_pass: req.journeys.max_extra_second_pass = journey_parameters.max_extra_second_pass for uri in journey_parameters.forbidden_uris: req.journeys.forbidden_uris.append(uri) for id in journey_parameters.allowed_id: req.journeys.allowed_id.append(id) if journey_parameters.direct_path_duration is not None: req.journeys.direct_path_duration = journey_parameters.direct_path_duration req.journeys.bike_in_pt = bike_in_pt if journey_parameters.min_nb_journeys: req.journeys.min_nb_journeys = journey_parameters.min_nb_journeys if journey_parameters.timeframe: req.journeys.timeframe_duration = int(journey_parameters.timeframe) if journey_parameters.depth: req.journeys.depth = journey_parameters.depth if journey_parameters.isochrone_center: req.journeys.isochrone_center.place = journey_parameters.isochrone_center req.journeys.isochrone_center.access_duration = 0 req.requested_api = type_pb2.ISOCHRONE if journey_parameters.sn_params: sn_params_request = req.journeys.streetnetwork_params sn_params_request.origin_mode = journey_parameters.sn_params.origin_mode sn_params_request.destination_mode = journey_parameters.sn_params.destination_mode sn_params_request.walking_speed = journey_parameters.sn_params.walking_speed sn_params_request.bike_speed = journey_parameters.sn_params.bike_speed sn_params_request.car_speed = journey_parameters.sn_params.car_speed sn_params_request.bss_speed = journey_parameters.sn_params.bss_speed sn_params_request.car_no_park_speed = journey_parameters.sn_params.car_no_park_speed if journey_parameters.current_datetime: req._current_datetime = journey_parameters.current_datetime return req