Coverage for vocabs/api_views.py: 100%

28 statements  

« prev     ^ index     » next       coverage.py v7.6.0, created at 2024-07-27 11:19 +0000

1from rest_framework import viewsets 

2from rest_framework import pagination 

3from django_filters.rest_framework import DjangoFilterBackend 

4from .models import SkosConcept, SkosConceptScheme, SkosLabel, SkosNamespace 

5from .serializers import ( 

6 SkosLabelSerializer, 

7 SkosNamespaceSerializer, 

8 SkosConceptSchemeSerializer, 

9 SkosConceptSerializer, 

10) 

11from .filters import SkosConceptFilter 

12from .api_renderers import RDFRenderer 

13from rest_framework.settings import api_settings 

14 

15 

16class LargeResultsSetPagination(pagination.PageNumberPagination): 

17 page_size = 25 

18 page_size_query_param = "page_size" 

19 max_page_size = 10000 

20 

21 

22class SkosLabelViewSet(viewsets.ModelViewSet): 

23 

24 queryset = SkosLabel.objects.all() 

25 serializer_class = SkosLabelSerializer 

26 

27 

28class SkosNamespaceViewSet(viewsets.ModelViewSet): 

29 

30 queryset = SkosNamespace.objects.all() 

31 serializer_class = SkosNamespaceSerializer 

32 

33 

34class SkosConceptSchemeViewSet(viewsets.ModelViewSet): 

35 

36 queryset = SkosConceptScheme.objects.all() 

37 serializer_class = SkosConceptSchemeSerializer 

38 

39 

40class SkosConceptViewSet(viewsets.ModelViewSet): 

41 

42 queryset = SkosConcept.objects.all() 

43 serializer_class = SkosConceptSerializer 

44 filter_backends = (DjangoFilterBackend,) 

45 filterset_class = SkosConceptFilter 

46 pagination_class = LargeResultsSetPagination 

47 

48 renderer_classes = tuple(api_settings.DEFAULT_RENDERER_CLASSES) + (RDFRenderer,)