@@ -189,8 +189,8 @@ def directions( # noqa: C901
189189 language : Optional [str ] = None ,
190190 region : Optional [str ] = None ,
191191 units : Optional [str ] = None ,
192- arrival_time : Optional [int ] = None ,
193192 departure_time : Optional [int ] = None ,
193+ arrival_time : Optional [int ] = None ,
194194 traffic_model : Optional [str ] = None ,
195195 transit_mode : Optional [Union [List [str ], Tuple [str ]]] = None ,
196196 transit_routing_preference : Optional [str ] = None ,
@@ -341,21 +341,19 @@ def _parse_legs(self, legs):
341341 arrival_datetime = None
342342
343343 for leg in legs :
344- departure_time = leg .get ("departure_time" )
345- if departure_time :
346- assert len (legs ) == 1 , "departure_time is only supported for single leg routes"
347- departure_datetime = self ._time_object_to_naive_datetime (departure_time )
348-
349- arrival_time = leg .get ("arrival_time" )
350- if arrival_time :
351- assert len (legs ) == 1 , "arrival_time is only supported for single leg routes"
352- arrival_datetime = self ._time_object_to_naive_datetime (arrival_time )
353-
354344 duration += leg ["duration" ]["value" ]
355345 distance += leg ["distance" ]["value" ]
356346 for step in leg ["steps" ]:
357347 geometry .extend (utils .decode_polyline5 (step ["polyline" ]["points" ]))
358348
349+ departure_time = legs [0 ].get ("departure_time" )
350+ if departure_time :
351+ departure_datetime = self ._time_object_to_naive_datetime (departure_time )
352+
353+ arrival_time = legs [- 1 ].get ("arrival_time" )
354+ if arrival_time :
355+ arrival_datetime = self ._time_object_to_naive_datetime (arrival_time )
356+
359357 return duration , distance , geometry , departure_datetime , arrival_datetime
360358
361359 def _parse_direction_json (self , response , alternatives ):
0 commit comments