Example #1
0
def create_blog(request):
    try:
        username = parameters.get_parameter_string(request, 'username')
        content = parameters.get_parameter_string(request, 'content')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})
    blog = Blog(author=username, content=content)
    blog.save()
    return JsonResponse({'code': 0, 'data': blog.id})
Example #2
0
def cancel_follow(request):
    if request.method == 'GET':
        raise Http404
    try:
        from_name = parameters.get_parameter_string('username')
        to_name = parameters.get_parameter_string('to_name')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})
    # delete
    Follow.objects.filter(from_name=from_name, to_name=to_name).delete()
    return JsonResponse({'code': 0})
Example #3
0
def follow(request):
    if request.method == 'GET':
        raise Http404
    try:
        from_name = parameters.get_parameter_string('username')
        to_name = parameters.get_parameter_string('to_name')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})

    f = Follow(from_name=from_name, to_name=to_name)
    f.save()
    return JsonResponse({'code': 0})
Example #4
0
def register(request):
    if request.method == 'GET':
        raise Http404

    try:
        username = parameters.get_parameter_string(request, 'username')
        password = parameters.get_parameter_string(request, 'password')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})

    # check if username exist
    q = User.objects.filter(username=username)
    if len(q) != 0:
        return JsonResponse({'code': 1, 'msg': 'user already exist'})

    u = User(username=username, password=password)
    u.save()
    return JsonResponse({'code': 0})
Example #5
0
def login(request):
    if request.method == 'GET':
        raise Http404
    try:
        username = parameters.get_parameter_string(request, 'username')
        password = parameters.get_parameter_string(request, 'password')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})
    q = User.objects.filter(username=username)
    if len(q) == 0:
        return JsonResponse({'code': 1, 'msg': 'user not exist'})
    if len(q) != 1:
        return JsonResponse({'code': 1, 'msg': 'database error'})
    for i in q:
        if i.password == password:
            token = utils.token_gen(TOKEN_LEN)
            auth.token_user[token] = i.username
            return JsonResponse({'code': 0, 'data': token})
        else:
            return JsonResponse({'code': 1, 'msg': 'password error'})
    return JsonResponse({'code': 0, 'msg': 'login success'})
Example #6
0
def delete_blog(request):
    try:
        username = parameters.get_parameter_string(request, 'username')
        _id = parameters.get_parameter_int(request, 'id')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})
    # validate
    q = Blog.objects.filter(id=_id)
    if len(q) != 1:
        return JsonResponse({'code': 1, 'msg': 'id is invalid!'})
    for i in q:
        if i.author != username:
            raise PermissionDenied('user valid')
    Blog.objects.filter(id=_id).delete()
    return JsonResponse({'code': 0})
Example #7
0
def list_blog(request):
    try:
        username = parameters.get_parameter_string(request, 'username')
        offset = parameters.get_parameter_int(request, 'offset')
        limit = parameters.get_parameter_int(request, 'limit')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})

    blogs = Blog.objects.filter(
        author=username).order_by('-created_at')[offset:limit]
    total = Blog.objects.filter(author=username).count()
    return JsonResponse({
        'code': 0,
        'data': {
            'blogs': [o.to_json() for o in blogs],
            'offset': offset,
            'limit': limit,
            'total': total,
        }
    })
Example #8
0
def follow_list(request):
    if request.method == 'GET':
        raise Http404
    try:
        username = parameters.get_parameter_string(request, 'username')
        offset = parameters.get_parameter_int(request, 'offset')
        limit = parameters.get_parameter_int(request, 'limit')
    except Exception as e:
        return JsonResponse({'code': 1, 'msg': str(e)})

    q = Follow.objects.filter(from_name=username)[offset:limit]
    total = Follow.objects.filter(from_name=username).count()
    follows = []
    for i in q:
        follows.append(i.to_name)

    return JsonResponse({'code': 0, 'data': {
        'follows': follows,
        'offset': offset,
        'limit': limit,
        'total': total,
    }})