Пример #1
0
 def post(self, request):
     data = JSONParser().parse(request)
     serializer = SnippetSerializer(data=data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=201)
     return Response(serializer.errors, status=400)
Пример #2
0
def snippet_detail(request, pk):
    """
    Retrieve, update or delete a snippet instance.
    """
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = SnippetSerializer(snippet)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = SnippetSerializer(snippet, data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        snippet.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)

    def pre_save(self, obj):
        obj.owner = self.request.user
Пример #3
0
 def put(self, request, format=None):
     serializer = SnippetSerializer(snippet, data=request.data)
     if serializer.is_valid():
         serializer.save(owner=request.user)
         client = BeanstalkClient()
         client.call('api.evaluate')
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #4
0
    def post(self, request, format=None):
        if request.user.snippets.all().count() > 0:
            return Response(
                'User already has a submitted code snippet. Use PUT to update',
                status=status.HTTP_400_BAD_REQUEST)

        serializer = SnippetSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save(owner=request.user)
            client = BeanstalkClient()
            client.call('api.evaluate')
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def snippet_list(request):
    """
    List all snippets, or create a new snippet.
    """
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = SnippetSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #6
0
    def put(self, request, format=None):
        try:
            snippet = request.user.snippets.first()
        except User.DoesNotExist:
            return Response(
                'User has no code snippet submitted. Use POST to submit',
                status=status.HTTP_400_BAD_REQUEST)

        serializer = SnippetSerializer(snippet, data=request.data)
        if serializer.is_valid():
            serializer.save(owner=request.user)
            client = BeanstalkClient()
            client.call('api.evaluate')
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #7
0
    def get(self, request, format=None):
        try:
            snippet = request.user.snippets.first()
        except User.DoesNotExist:
            snippet = None

        serializer = SnippetSerializer(snippet)
        return Response(serializer.data)
Пример #8
0
def snippet_detail(request, pk):
    """
    Retrieve, update or delete a snippet instance.
    """
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = SnippetSerializer(snippet)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = SnippetSerializer(snippet, data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        snippet.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)

    def pre_save(self, obj):
        obj.owner = self.request.user
Пример #9
0
def snippet_list(request,permission_classes = (permissions.IsAuthenticatedOrReadOnly,)):
    """
    List all snippets, or create a new snippet.
    """
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = SnippetSerializer(data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def pre_save(self, obj):
        obj.owner = self.request.user
Пример #10
0
def search(request):
    kw = request.GET.get['kw']
    snippets = avmoo_api.objects.filter(
        Q(fanhao=kw) | Q(artists=kw) | Q(leibie=kw))

    page = request.GET.get('page')

    limit = 20
    p = Paginator(objects, limit)
    try:
        db = p.page(page)
        api = SnippetSerializer(db, many=True)
    except PageNotAnInteger:
        db = p.page(1)
        api = SnippetSerializer(db, many=True)
    except EmptyPage:
        db = p.page(p.num_pages)
        api = SnippetSerializer(db, many=True)

    return JSONResponse(api.data, charset='utf-8')
Пример #11
0
def snippet_list(request, format=None):
    """
    List all snippets, or create a new snippet.
    """
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = SnippetSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #12
0
def snippet_list(request):
    """
    展示所有存在的snippet, 或建立新的snippet
    """
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetSerializer(snippets, many=True)
        return JSONResponse(serializer.data)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = SnippetSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JSONResponse(serializer.data, status=201)
        return JSONResponse(serializer.errors, status=400)
Пример #13
0
def snippet_list(request):
    """
    列出所有的snippets,或者创建一个新的snippet。
    """
    if request.method == 'GET':
        id = request.GET.get('id')
        snippets = Snippet.objects.filter(id=id)
        serializer = SnippetSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = SnippetSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #14
0
def api_detail(request, pk):
    try:
        snippet = avmoo_api.objects.get(pk=pk)
    except avmoo_api.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        api = SnippetSerializer(snippet)
        return JSONResponse(api.data, charset='utf-8')
    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        api = SnippetSerializer(snippet, data=data)
        if api.is_valid():
            api.save()
            return JSONResponse(api.data, charset='utf-8')
        return JSONResponse(api.errors, status=400)

    elif request.method == 'DELETE':
        snippet.delete()
        return HttpResponse(status=204)
Пример #15
0
def snippet_list(request,
                 permission_classes=(permissions.IsAuthenticatedOrReadOnly, )):
    """
    List all snippets, or create a new snippet.
    """
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = SnippetSerializer(data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

    def pre_save(self, obj):
        obj.owner = self.request.user
Пример #16
0
def snippet_detail(request, pk, format=None):
    """
    Retrieve, update or delete a code snippet.
    """
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = SnippetSerializer(snippet)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = SnippetSerializer(snippet, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        snippet.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
Пример #17
0
def snippet_detail(request, pk):
    """
    展示, 更新或删除一个snippet
    """
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = SnippetSerializer(snippet)
        return JSONResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        serializer = SnippetSerializer(snippet, data=data)
        if serializer.is_valid():
            serializer.save()
            return JSONResponse(serializer.data)
        return JSONResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        snippet.delete()
        return HttpResponse(status=204)
Пример #18
0
 def get(self, request):
     snippets = Snippet.objects.all()
     serializer = SnippetSerializer(snippets, many=True)
     return Response(serializer.data)
Пример #19
0
 def post(self, request):
     serializer = SnippetSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #20
0
def teacher(request):
    if request.method == 'GET':
        snippets = teacher.objects.all()
        page = request.GET.get('page')
        limit = 20
        p = Paginator(snippets, limit)
        try:
            db = p.page(page)
            api = SnippetSerializer(db, many=True)
        except PageNotAnInteger:
            db = p.page(1)
            api = SnippetSerializer(db, many=True)
        except EmptyPage:
            db = p.page(p.num_pages)
            api = SnippetSerializer(db, many=True)

        return JSONResponse(api.data, charset='utf-8')
    elif request == 'POST':
        data = JSONParser().parse(request)
        api = SnippetSerializer(data=data)
        if api.is_valid():
            api.save()
            return JSONResponse(api.data, status=201, charset='utf-8')
        return JSONResponse(api.errors, status=100)