7e0ab5932b348a0a14ab87e4ec27e1d80017ec02
[plstackapi.git] / planetstack / core / views / images.py
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
5
6 from core.api.images import add_image, delete_image, get_images
7 from core.serializers import ImageSerializer
8 from util.request import parse_request
9
10
11 class ImageListCreate(APIView):
12     """ 
13     List all images or create a new image.
14     """
15
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)        
20         elif 'image' in data:
21             """Not Implemented"""
22             return Response(status=status.HTTP_404_NOT_FOUND)
23         else:
24             images = get_images(data['auth'])
25             serializer = ImageSerializer(images, many=True)
26             return Response(serializer.data)
27         
28             
29 class ImageRetrieveUpdateDestroy(APIView):
30     """
31     Retrieve, update or delete an image  
32     """
33
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'], pk)
40         if not images:
41             return Response(status=status.HTTP_404_NOT_FOUND)
42         serializer = ImageSerializer(images[0])
43         return Response(serializer.data)                  
44
45     def put(self, request, pk, format=None):
46         """update image not implemnted""" 
47         return Response(status=status.HTTP_404_NOT_FOUND) 
48
49     def delete(self, request, pk, format=None):
50         """delete image not implemnted""" 
51         return Response(status=status.HTTP_404_NOT_FOUND) 
52
53             
54             
55