autopep8
This commit is contained in:
parent
2ec289f3c7
commit
d7a99e915f
1 changed files with 22 additions and 40 deletions
40
api/views.py
40
api/views.py
|
|
@ -22,11 +22,9 @@ from drf_spectacular.utils import extend_schema
|
|||
from .permissions import ReadOnlyOrAuthenticated, IsOwner
|
||||
|
||||
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
|
||||
def get_prediction_from_tawhiri(params):
|
||||
|
||||
base_url = "https://fly.stratonautica.ru/api/v2"
|
||||
|
|
@ -35,15 +33,13 @@ def get_prediction_from_tawhiri(params):
|
|||
if response.status_code == 200:
|
||||
return response.json() # получаем результат предсказания
|
||||
else:
|
||||
raise Exception(f"Tawhiri error: {response.status_code} {response.text}")
|
||||
|
||||
raise Exception(
|
||||
f"Tawhiri error: {response.status_code} {response.text}")
|
||||
|
||||
|
||||
class PredictionViewSet(ViewSet):
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
||||
|
||||
def create(self, request):
|
||||
serializer = PredictionRequestSerializer(data=request.data)
|
||||
|
||||
|
|
@ -58,7 +54,8 @@ class PredictionViewSet(ViewSet):
|
|||
except requests.RequestException as e:
|
||||
return Response({"error": f"Tawhiri error: {str(e)}"}, status=status.HTTP_502_BAD_GATEWAY)
|
||||
|
||||
prediction = Prediction.objects.create(result=prediction_result, user=request.user, request=request.data)
|
||||
prediction = Prediction.objects.create(
|
||||
result=prediction_result, user=request.user, request=request.data)
|
||||
|
||||
return Response({
|
||||
"id": prediction.id,
|
||||
|
|
@ -66,8 +63,6 @@ class PredictionViewSet(ViewSet):
|
|||
"result": prediction_result
|
||||
}, status=status.HTTP_201_CREATED)
|
||||
|
||||
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def list_user(self, request):
|
||||
user = request.user
|
||||
|
|
@ -95,34 +90,29 @@ class PredictionViewSet(ViewSet):
|
|||
queryset = Prediction.objects.filter(**filters)
|
||||
return Response(PredictionSerializer(queryset, many=True).data)
|
||||
|
||||
|
||||
|
||||
@action(detail=False, methods=["get"])
|
||||
def history(self, request):
|
||||
queryset = Prediction.objects.filter(user=request.user)
|
||||
return Response(PredictionListSerializer(queryset, many=True).data)
|
||||
|
||||
|
||||
|
||||
@action(detail=True, methods=["get"])
|
||||
def detail(self, request, pk=None):
|
||||
prediction = Prediction.objects.filter(user=request.user, pk=pk).first()
|
||||
prediction = Prediction.objects.filter(
|
||||
user=request.user, pk=pk).first()
|
||||
if not prediction:
|
||||
return Response({'detail': 'Not found'}, status=404)
|
||||
return Response(PredictionDetailSerializer(prediction).data)
|
||||
|
||||
|
||||
|
||||
@action(detail=True, methods=["delete"])
|
||||
def delete(self, request, pk=None):
|
||||
prediction = Prediction.objects.filter(user=request.user, pk=pk).first()
|
||||
prediction = Prediction.objects.filter(
|
||||
user=request.user, pk=pk).first()
|
||||
if not prediction:
|
||||
return Response({'detail': 'Not found'}, status=404)
|
||||
prediction.delete()
|
||||
return Response(status=204)
|
||||
|
||||
|
||||
|
||||
class TelemetryListCreateView(generics.ListCreateAPIView):
|
||||
serializer_class = TelemetryPacketSerializer
|
||||
permission_classes = [permissions.AllowAny]
|
||||
|
|
@ -140,8 +130,6 @@ class TelemetryListCreateView(generics.ListCreateAPIView):
|
|||
|
||||
return qs.order_by("-timestamp")
|
||||
|
||||
|
||||
|
||||
def post(self, request, pk):
|
||||
serializer = TelemetryPacketSerializer(data=request.data)
|
||||
if not serializer.is_valid():
|
||||
|
|
@ -149,7 +137,7 @@ class TelemetryListCreateView(generics.ListCreateAPIView):
|
|||
|
||||
validated_data = serializer.validated_data
|
||||
|
||||
TelemetryPacket.objects.create(timestamp = time.time(),
|
||||
TelemetryPacket.objects.create(timestamp=time.time(),
|
||||
satellite=Satellite.objects.get(id=pk),
|
||||
lat=validated_data["lat"],
|
||||
lon=validated_data["lon"],
|
||||
|
|
@ -159,7 +147,6 @@ class TelemetryListCreateView(generics.ListCreateAPIView):
|
|||
return Response(serializer.errors, status=status.HTTP_201_CREATED)
|
||||
|
||||
|
||||
|
||||
class SessionView(APIView):
|
||||
authentication_classes = [SessionAuthentication, BasicAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
|
@ -169,7 +156,6 @@ class SessionView(APIView):
|
|||
return JsonResponse({'isAuthenticated': True})
|
||||
|
||||
|
||||
|
||||
class WhoAmIView(APIView):
|
||||
authentication_classes = [SessionAuthentication, BasicAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
|
@ -179,7 +165,6 @@ class WhoAmIView(APIView):
|
|||
return JsonResponse({'username': request.user.username})
|
||||
|
||||
|
||||
|
||||
@extend_schema(methods=["GET"], description="Get CSRF token")
|
||||
@api_view(["GET"])
|
||||
@permission_classes([AllowAny])
|
||||
|
|
@ -189,7 +174,6 @@ def get_csrf(request):
|
|||
return response
|
||||
|
||||
|
||||
|
||||
@extend_schema(methods=["POST"], description="Login user")
|
||||
@csrf_exempt
|
||||
@api_view(["POST"])
|
||||
|
|
@ -211,7 +195,6 @@ def login_view(request):
|
|||
return JsonResponse({'detail': 'Successfully logged in.'})
|
||||
|
||||
|
||||
|
||||
@extend_schema(methods=["POST"], description="Logout user")
|
||||
@api_view(["POST"])
|
||||
@permission_classes([AllowAny])
|
||||
|
|
@ -223,7 +206,6 @@ def logout_view(request):
|
|||
return JsonResponse({'detail': 'Successfully logged out.'})
|
||||
|
||||
|
||||
|
||||
class SavedPointViewset(ModelViewSet):
|
||||
authentication_classes = [SessionAuthentication, BasicAuthentication]
|
||||
permission_classes = [IsOwner]
|
||||
|
|
@ -236,8 +218,8 @@ class SavedPointViewset(ModelViewSet):
|
|||
def perform_create(self, serializer):
|
||||
serializer.save(user=self.request.user)
|
||||
|
||||
#class PredictionCreateView(APIView):
|
||||
#permission_classes = [IsAuthenticated]
|
||||
# class PredictionCreateView(APIView):
|
||||
# permission_classes = [IsAuthenticated]
|
||||
|
||||
# class TelemetryPacket(models.Model):
|
||||
# id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue