2016-09-13 15:18:24 +02:00
|
|
|
from django.http import Http404
|
2016-09-29 19:35:08 +02:00
|
|
|
from rest_framework.decorators import detail_route
|
2016-09-13 15:18:24 +02:00
|
|
|
from rest_framework.response import Response
|
2016-09-22 12:58:21 +02:00
|
|
|
from rest_framework.viewsets import ViewSet
|
2016-09-13 15:18:24 +02:00
|
|
|
|
2016-09-27 16:18:18 +02:00
|
|
|
from c3nav.editor.hosters import hosters
|
|
|
|
from c3nav.editor.serializers import HosterSerializer
|
2016-09-13 15:18:24 +02:00
|
|
|
|
|
|
|
|
|
|
|
class HosterViewSet(ViewSet):
|
|
|
|
"""
|
|
|
|
Get Package Hosters
|
|
|
|
"""
|
|
|
|
def list(self, request, version=None):
|
2016-09-29 19:35:08 +02:00
|
|
|
serializer = HosterSerializer(hosters.values(), many=True)
|
2016-09-13 15:18:24 +02:00
|
|
|
return Response(serializer.data)
|
|
|
|
|
|
|
|
def retrieve(self, request, pk=None, version=None):
|
|
|
|
if pk not in hosters:
|
|
|
|
raise Http404
|
2016-09-29 19:35:08 +02:00
|
|
|
serializer = HosterSerializer(hosters[pk])
|
2016-09-13 15:18:24 +02:00
|
|
|
return Response(serializer.data)
|
2016-09-29 19:35:08 +02:00
|
|
|
|
|
|
|
@detail_route(methods=['get'])
|
|
|
|
def state(self, request, pk=None, version=None):
|
|
|
|
if pk not in hosters:
|
|
|
|
raise Http404
|
|
|
|
return Response(hosters[pk].get_state(request))
|