示例#1
0
 def post(self,
          request,
          slug_project,
          database_object_project,
          use_sandbox,
          format=None):
     serializer = Serializer_Batch(data=request.data)
     print(serializer)
     if serializer.is_valid():
         serializer.save(database_object_project=database_object_project,
                         use_sandbox=use_sandbox)
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
示例#2
0
    def __init__(self, *args, **kwargs):
        super(Serializer_HIT, self).__init__(*args, **kwargs)

        context = kwargs.get('context', {})

        if context.get('usecase') == 'list_hits':
            self.fields['batch'] = Serializer_Batch(read_only=True)
示例#3
0
    def __init__(self, *args, **kwargs):
        super(Serializer_HIT, self).__init__(*args, **kwargs)

        context = kwargs.get('context', {})

        try:
            expand = context.get('request').query_params.get('expand')

            if '__batch__' in expand:
                self.fields['batch'] = Serializer_Batch(context=context)
        except AttributeError:
            pass

        if context.get('usecase') == 'list_hits':
            self.fields['batch'] = Serializer_Batch(read_only=True)

        keep_fields(self, context.get('fields'))
示例#4
0
    def get(self,
            request,
            slug_project,
            database_object_project,
            use_sandbox,
            id_batch,
            format=None):
        batch = Manager_Batches.get(id_batch=id_batch)
        serializer = Serializer_Batch(batch, context={'request': request})

        return Response(serializer.data)
示例#5
0
def batches_for_annotation(request,
                           slug_project,
                           database_object_project,
                           use_sandbox,
                           format=None):
    queryset = Manager_Batches.get_all(
        database_object_project=database_object_project,
        use_sandbox=use_sandbox,
        request=request)

    serializer = Serializer_Batch(queryset,
                                  context={
                                      'usecase': 'annotation',
                                  },
                                  many=True)

    return Response(serializer.data)
示例#6
0
    def get(self, request, format=None):
        try:
            use_sandbox = False if request.query_params[
                'use_sandbox'] == 'false' else True
        except KeyError:
            use_sandbox = True

        queryset = Manager_Batches.get_all(request=request,
                                           use_sandbox=use_sandbox)

        queryset_paginated, count_items = paginate_queryset(queryset, request)

        serializer = Serializer_Batch(queryset_paginated,
                                      many=True,
                                      context={
                                          'usecase': 'list_batches',
                                      })

        return Response({
            'items_total': count_items,
            'data': serializer.data,
        })
示例#7
0
    def get(self,
            request,
            slug_project,
            database_object_project,
            use_sandbox,
            format=None):
        queryset = Manager_Batches.get_all(
            database_object_project=database_object_project,
            use_sandbox=use_sandbox,
            request=request)

        queryset_paginated, count_items = paginate_queryset(queryset, request)

        serializer = Serializer_Batch(queryset_paginated,
                                      many=True,
                                      context={
                                          'usecase': 'list_batches',
                                      })

        return Response({
            'items_total': count_items,
            'data': serializer.data,
        })