Ejemplo n.º 1
0
def list_method():
    qs = get_json(request)

    forum = qs.get('forum')
    thread = qs.get('thread')
    if not forum and not thread:
        return json.dumps({
            "code": 2,
            "response": "No 'forum' or 'thread' key"
        },
                          indent=4)

    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    order = qs.get('order', '')

    if forum:
        post_list = get_post_list(forum=forum,
                                  since=since,
                                  limit=limit,
                                  order=order)
    else:
        post_list = get_post_list(thread=thread,
                                  since=since,
                                  limit=limit,
                                  order=order)

    return json.dumps({"code": 0, "response": post_list}, indent=4)
Ejemplo n.º 2
0
def list_posts():
    qs = get_json(request)

    forum = qs.get('forum')

    if not forum:
        return json.dumps({"code": 2, "response": "No 'forum' key"}, indent=4)

    # Related part
    related_values = list()
    qs_related = qs.get('related')
    if type(qs_related) is list:
        related_values.extend(qs_related)
    elif type(qs_related) is str:
        related_values.append(qs_related)

    thread_related = False
    forum_related = False
    user_related = False
    for related_value in related_values:
        if related_value == 'thread':
            thread_related = True
        elif related_value == 'forum':
            forum_related = True
        elif related_value == 'user':
            user_related = True
        else:
            return json.dumps({
                "code": 3,
                "response": "Wrong related value"
            },
                              indent=4)

    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    sort = qs.get('sort', 'flat')
    order = qs.get('order', 'desc')

    post_list = get_post_list(forum=forum,
                              since=since,
                              limit=limit,
                              sort=sort,
                              order=order)

    for post in post_list:
        if user_related:
            post['user'] = get_user_dict(post['user'])

        if thread_related:
            post['thread'] = get_thread_by_id(post['thread'])

        if forum_related:
            post['forum'] = get_forum_dict(short_name=post['forum'])

    return json.dumps({"code": 0, "response": post_list}, indent=4)
Ejemplo n.º 3
0
def restore():
    thread = request.json.get('thread')

    post_list = get_post_list(thread=thread)
    for post in post_list:
        restore_post(post['id'])

    db.execute("""UPDATE Thread SET isDeleted = 0, posts = %(posts)s WHERE thread = %(thread)s;""",
               {'posts': len(post_list), 'thread': thread}, True)

    return json.dumps({"code": 0, "response": thread}, indent=4)
Ejemplo n.º 4
0
def remove():
    request_body = request.json

    thread = request_body.get('thread')
    post_list = get_post_list(thread=thread)
    for post in post_list:
        remove_post(post['id'])

    db.execute("""UPDATE Thread SET isDeleted = 1, posts = 0 WHERE thread = %(thread)s;""", {'thread': thread}, True)

    return json.dumps({"code": 0, "response": thread}, indent=4)
Ejemplo n.º 5
0
def list_posts():
    qs = get_json(request)

    thread = qs.get('thread')
    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    order = qs.get('order', 'desc')
    sort = qs.get('sort', 'flat')

    post_list = get_post_list(thread=thread, since=since, limit=limit, sort=sort, order=order)

    return json.dumps({"code": 0, "response": post_list}, indent=4)
Ejemplo n.º 6
0
def remove():
    request_body = request.json

    thread = request_body.get('thread')
    post_list = get_post_list(thread=thread)
    for post in post_list:
        remove_post(post['id'])

    db.execute(
        """UPDATE Thread SET isDeleted = 1, posts = 0 WHERE thread = %(thread)s;""",
        {'thread': thread}, True)

    return json.dumps({"code": 0, "response": thread}, indent=4)
Ejemplo n.º 7
0
def list_posts():
    qs = get_json(request)

    email = qs.get('user')
    if not email:
        return json.dumps({"code": 2, "response": "No 'user' key"}, indent=4)

    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    order = qs.get('order', 'desc')

    post_list = get_post_list(user=email, since=since, limit=limit, order=order)
    return json.dumps({"code": 0, "response": post_list}, indent=4)
Ejemplo n.º 8
0
def restore():
    thread = request.json.get('thread')

    post_list = get_post_list(thread=thread)
    for post in post_list:
        restore_post(post['id'])

    db.execute(
        """UPDATE Thread SET isDeleted = 0, posts = %(posts)s WHERE thread = %(thread)s;""",
        {
            'posts': len(post_list),
            'thread': thread
        }, True)

    return json.dumps({"code": 0, "response": thread}, indent=4)
Ejemplo n.º 9
0
def list_posts():
    qs = get_json(request)

    thread = qs.get('thread')
    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    order = qs.get('order', 'desc')
    sort = qs.get('sort', 'flat')

    post_list = get_post_list(thread=thread,
                              since=since,
                              limit=limit,
                              sort=sort,
                              order=order)

    return json.dumps({"code": 0, "response": post_list}, indent=4)
Ejemplo n.º 10
0
def list_posts():
    qs = get_json(request)

    email = qs.get('user')
    if not email:
        return json.dumps({"code": 2, "response": "No 'user' key"}, indent=4)

    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    order = qs.get('order', 'desc')

    post_list = get_post_list(user=email,
                              since=since,
                              limit=limit,
                              order=order)
    return json.dumps({"code": 0, "response": post_list}, indent=4)
Ejemplo n.º 11
0
def list_posts():
    qs = get_json(request)

    forum = qs.get('forum')

    if not forum:
        return json.dumps({"code": 2, "response": "No 'forum' key"}, indent=4)

    # Related part
    related_values = list()
    qs_related = qs.get('related')
    if type(qs_related) is list:
        related_values.extend(qs_related)
    elif type(qs_related) is str:
        related_values.append(qs_related)

    thread_related = False
    forum_related = False
    user_related = False
    for related_value in related_values:
        if related_value == 'thread':
            thread_related = True
        elif related_value == 'forum':
            forum_related = True
        elif related_value == 'user':
            user_related = True
        else:
            return json.dumps({"code": 3, "response": "Wrong related value"}, indent=4)

    since = qs.get('since', '')
    limit = qs.get('limit', -1)
    sort = qs.get('sort', 'flat')
    order = qs.get('order', 'desc')

    post_list = get_post_list(forum=forum, since=since, limit=limit, sort=sort, order=order)

    for post in post_list:
        if user_related:
            post['user'] = get_user_dict(post['user'])

        if thread_related:
            post['thread'] = get_thread_by_id(post['thread'])

        if forum_related:
            post['forum'] = get_forum_dict(short_name=post['forum'])

    return json.dumps({"code": 0, "response": post_list}, indent=4)