+
+ def directions_result_to_csv(self, result):
+ rows = []
+
+ for route in result['routes']:
+
+ for leg in route['legs']:
+ leg_start = self.get_leg_address(route, True)
+ leg_end = self.get_leg_address(route, False)
+ row = '"' + leg_start + '"'
+ row += ', '
+ row += '"' + leg_end + '"'
+ row += ', '
+ row += str(float(leg['distance']['value']) / 1000)
+ rows.append(row)
+
+ return rows
+
+
+ def distances(self):
+ directions_array = json.loads(request.POST['data'])
+ csv_rows = []
+
+ for result in directions_array:
+ csv_rows += self.directions_result_to_csv(result)
+
+ response.content_type = 'text/csv'
+ response.headers['Content-disposition'] = 'attachment; filename=distances.csv'
+ return "\n".join(csv_rows)
+