Skip to content

Commit 6b9ed71

Browse files
authored
Merge pull request #4332 from hove-io/zonal_odt_params
Add zonal ODT params
2 parents 6d434ea + c971e40 commit 6b9ed71

File tree

5 files changed

+27
-1
lines changed

5 files changed

+27
-1
lines changed

source/jormungandr/jormungandr/interfaces/v1/journey_common.py

+17-1
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@
5757
FloatRange,
5858
KeyValueType,
5959
PositiveFloat,
60+
PositiveInteger,
6061
)
61-
from navitiacommon import type_pb2
62+
from navitiacommon import type_pb2, default_values
6263

6364
BICYCLE_TYPES = [t for t, _ in type_pb2.BicycleType.items()]
6465

@@ -880,6 +881,21 @@ def __init__(self, output_type_serializer):
880881
hidden=True,
881882
help="whether or not to use predicted/historical traffic data for routing, it affects only car/car_no_park mode in Asgard",
882883
)
884+
parser_get.add_argument(
885+
"_use_zonal_odt",
886+
type=BooleanType(),
887+
default=False,
888+
hidden=True,
889+
help="only available for Loki: " "Use zonal ODT in fallback.",
890+
)
891+
parser_get.add_argument(
892+
"_max_waiting_duration_odt",
893+
type=PositiveInteger(),
894+
default=default_values.max_waiting_duration_odt,
895+
hidden=True,
896+
help='A journey containing a waiting section between TC and Zonal ODT with a duration greater to max_waiting_duration_odt '
897+
'will be discarded. Units : seconds. Must be > 0. Default value : 30 minutes',
898+
)
883899

884900
def parse_args(self, region=None, uri=None):
885901
args = self.parsers['get'].parse_args()

source/jormungandr/jormungandr/pt_planners/pt_planner.py

+4
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ def __init__(
7979
departure_coord=None,
8080
arrival_coord=None,
8181
global_max_speed=None,
82+
use_zonal_odt=False,
83+
max_waiting_duration_odt=default_values.max_waiting_duration_odt,
8284
):
8385

8486
self.max_duration = max_duration
@@ -106,6 +108,8 @@ def __init__(
106108
self.departure_coord = departure_coord
107109
self.arrival_coord = arrival_coord
108110
self.global_max_speed = global_max_speed
111+
self.use_zonal_odt = use_zonal_odt
112+
self.max_waiting_duration_odt = max_waiting_duration_odt
109113

110114

111115
# Needed for GraphicalIsochrones

source/jormungandr/jormungandr/scenarios/helper_classes/pt_journey.py

+2
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,8 @@ def _create_parameters(
344344
if self._requested_dest_obj
345345
else None,
346346
global_max_speed=request["_global_max_speed"],
347+
use_zonal_odt=request["_use_zonal_odt"],
348+
max_waiting_duration_odt=request["_max_waiting_duration_odt"],
347349
)
348350

349351
def _async_request(self):

source/jormungandr/jormungandr/utils.py

+2
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,8 @@ def _set_arrival_attractivity(stop_point_id, location):
10941094
)
10951095
)
10961096
req.journeys.global_max_speed = journey_parameters.global_max_speed
1097+
req.journeys.use_zonal_odt = journey_parameters.use_zonal_odt
1098+
req.journeys.max_waiting_duration_odt = journey_parameters.max_waiting_duration_odt
10971099
####################
10981100

10991101
return req

source/navitiacommon/navitiacommon/default_values.py

+2
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,8 @@
235235

236236
additional_parameters = False
237237

238+
max_waiting_duration_odt = 30 * 60 # 30 minutes
239+
238240
ghost_words = [] # type: List[str]
239241

240242
# {

0 commit comments

Comments
 (0)