1 from django.http import Http404
2 from rest_framework.views import APIView
3 from rest_framework.response import Response
4 from rest_framework import status
6 from plstackapi.planetstack.api.images import add_image, delete_image, get_images
7 from plstackapi.planetstack.serializers import ImageSerializer
8 from plstackapi.util.request import parse_request
11 class ImageListCreate(APIView):
13 List all images or create a new image.
16 def post(self, request, format = None):
17 data = parse_request(request.DATA)
18 if 'auth' not in data:
19 return Response(status=status.HTTP_400_BAD_REQUEST)
22 return Response(status=status.HTTP_404_NOT_FOUND)
24 images = get_images(data['auth'])
25 serializer = ImageSerializer(images, many=True)
26 return Response(serializer.data)
29 class ImageRetrieveUpdateDestroy(APIView):
31 Retrieve, update or delete an image
34 def post(self, request, pk, format=None):
35 """Retrieve an image """
36 data = parse_request(request.DATA)
37 if 'auth' not in data:
38 return Response(status=status.HTTP_400_BAD_REQUEST)
39 images = get_images(data['auth'], {'name': pk})
41 return Response(status=status.HTTP_404_NOT_FOUND)
42 serializer = ImageSerializer(images[0])
43 return Response(serializer.data)
45 def put(self, request, pk, format=None):
46 """update image not implemnted"""
47 return Response(status=status.HTTP_404_NOT_FOUND)
49 def delete(self, request, pk, format=None):
50 """delete image not implemnted"""
51 return Response(status=status.HTTP_404_NOT_FOUND)