Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
responses.GET,
'https://api.mapbox.com/directions-matrix/v1/mapbox/{}/{}'.format(query['profile'], coords),
status=200,
json=ENDPOINTS_RESPONSES['mapbox_osrm']['matrix'],
content_type='application/json'
)
matrix = self.client.matrix(**query)
self.assertEqual(1, len(responses.calls))
self.assertURLEqual(
'https://api.mapbox.com/directions-matrix/v1/mapbox/driving/8.688641,49.420577;8.680916,49.415776;8.780916,49.445776?'
'access_token=sample_key&annotations=distance%2Cduration&fallback_speed=50',
responses.calls[0].request.url
)
self.assertIsInstance(matrix, Matrix)
self.assertIsInstance(matrix.distances, list)
self.assertIsInstance(matrix.durations, list)
self.assertIsInstance(matrix.raw, dict)
def _parse_matrix_json(response):
if response is None: # pragma: no cover
return Matrix()
durations = response.get('times')
distances = response.get('distances')
return Matrix(durations=durations, distances=distances, raw=response)
def _parse_matrix_json(response, units):
if response is None: # pragma: no cover
return Matrix()
factor = 0.621371 if units == 'mi' else 1
durations = [
[destination['time'] for destination in origin] for origin in response['sources_to_targets']
]
distances = [
[int(destination['distance'] * 1000 * factor)
for destination in origin]
for origin in response['sources_to_targets']
]
return Matrix(durations=durations, distances=distances, raw=response)
def _parse_matrix_json(response):
if response is None: # pragma: no cover
return Matrix()
durations = []
distances = []
index_durations = []
index_distances = []
next_ = None
mtx_objects = response['response']['matrixEntry']
l = len(mtx_objects)
for index, obj in enumerate(mtx_objects):
if index < (l - 1):
next_ = mtx_objects[index + 1]
if 'travelTime' in obj['summary']:
index_durations.append(obj['summary']['travelTime'])
else:
def _parse_matrix_json(response):
if response is None: # pragma: no cover
return Matrix()
durations = [
[destination['duration']['value']
for destination in origin['elements']]
for origin in response['rows']
]
distances = [
[destination['distance']['value']
for destination in origin['elements']]
for origin in response['rows']
]
return Matrix(durations, distances, response)
def _parse_matrix_json(response, units):
if response is None: # pragma: no cover
return Matrix()
factor = 0.621371 if units == 'mi' else 1
durations = [
[destination['time'] for destination in origin] for origin in response['sources_to_targets']
]
distances = [
[int(destination['distance'] * 1000 * factor)
for destination in origin]
for origin in response['sources_to_targets']
]
return Matrix(durations=durations, distances=distances, raw=response)
def _parse_matrix_json(response):
if response is None: # pragma: no cover
return Matrix()
durations = response.get('times')
distances = response.get('distances')
return Matrix(durations=durations, distances=distances, raw=response)
def _parse_matrix_json(response):
if response is None: # pragma: no cover
return Matrix()
return Matrix(
durations=response.get('durations'), distances=response.get('distances'), raw=response
)
else:
index_durations.append(obj['summary']['costfactor'])
if 'distance' in obj['summary']:
index_distances.append(obj['summary']['distance'])
if next_['startIndex'] > obj['startIndex']:
durations.append(index_durations)
distances.append(index_distances)
index_durations = []
index_distances = []
durations.append(index_durations)
distances.append(index_distances)
return Matrix(durations=durations, distances=distances, raw=response)