from django.http import JsonResponse from rest_framework.decorators import action, api_view, schema from django.views.decorators.csrf import csrf_exempt from ..models import Paradero, ParaderoImagen from ..models import Linea, GtfsShape from .paradero import url_image_paradero from logging import error google_api_key = 'AIzaSyDnFO9w_SsodjBuY5tOK8-kQJns_l5klQ4' center = {'lat': -36.8077884, 'lng': -73.0775401} @csrf_exempt @action(detail=False, methods=['get']) @api_view(['GET']) def paraderos(request): zoom = 17 marks = [] paraderos = Paradero.objects.all() for p in paraderos: url_image = url_image_paradero(request, p.id_paradero) marks.append({ 'position': { 'lat': p.stop_lat, 'lng': p.stop_lon }, 'id_paradero': p.id_paradero, 'title': 'Paradero #' + str(p.id_paradero), 'location': p.stop_name, 'id_comuna': p.id_comuna, 'id_tipo_paradero': p.id_tipo_paradero, 'url_image': url_image }) return JsonResponse({ 'google_api_key': google_api_key, 'zoom': zoom, 'center': center, 'marks': marks }) @csrf_exempt @action(detail=False, methods=['get']) @api_view(['GET']) def rutas(request): id_linea = request.GET.get('id_linea') service_id = request.GET.get('service_id') linea = Linea.objects \ .filter(id_linea = id_linea, service_id = service_id, direction_id = '0') \ .values('shape_id') \ .first() rutas = GtfsShape.objects \ .filter(id_shape = linea['shape_id']) \ .order_by('shape_pt_sequence') \ .values('shape_pt_lat','shape_pt_lon','shape_pt_sequence') return JsonResponse(list(rutas), safe=False)