2016-09-13 15:18:24 +02:00
|
|
|
from django.http import Http404
|
|
|
|
from rest_framework.response import Response
|
2016-09-20 15:57:37 +02:00
|
|
|
from rest_framework.viewsets import ModelViewSet, ViewSet
|
2016-09-13 15:18:24 +02:00
|
|
|
|
|
|
|
from ...editor.hosters import hosters
|
2016-09-20 15:57:37 +02:00
|
|
|
from ...mapdata.models import Feature
|
|
|
|
from ..serializers import FeatureSerializer, HosterSerializer
|
2016-09-13 15:18:24 +02:00
|
|
|
|
|
|
|
|
|
|
|
class HosterViewSet(ViewSet):
|
|
|
|
"""
|
|
|
|
Get Package Hosters
|
|
|
|
"""
|
|
|
|
def list(self, request, version=None):
|
|
|
|
serializer = HosterSerializer(hosters.values(), many=True, context={'request': request})
|
|
|
|
return Response(serializer.data)
|
|
|
|
|
|
|
|
def retrieve(self, request, pk=None, version=None):
|
|
|
|
if pk not in hosters:
|
|
|
|
raise Http404
|
|
|
|
serializer = HosterSerializer(hosters[pk], context={'request': request})
|
|
|
|
return Response(serializer.data)
|
2016-09-20 15:57:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
class FeatureViewSet(ModelViewSet):
|
|
|
|
"""
|
|
|
|
Get all Map Features including ones that are only part of the current session
|
|
|
|
"""
|
|
|
|
queryset = Feature.objects.all()
|
|
|
|
serializer_class = FeatureSerializer
|
|
|
|
lookup_value_regex = '[^/]+'
|