Пример #1
0
def index():
    user = utils.session_check(request)
    if user.fng:
        resp = utils.response(200, 'Registered')
        resp.set_cookie(cfg['cookie_name'], user.id, user)
        return resp
    else:
        return utils.response(200, 'Welcome Back!', user)
Пример #2
0
def get_boards():
    user = utils.session_check(request)
    if not user or user.fng:
        return utils.response(
            403,
            'You have been banned or have never visited before. If its the latter visit home first.',
            user)
    arr = []
    res = db.selectmany(table='boards', fields=['name', 'color', 'pinned'])
    for r in res:
        arr.append(r.__dict__)
    return utils.response(200, arr, user)
Пример #3
0
def get_post():
    user = utils.session_check(request)
    if not user or user.fng:
        return utils.response(
            403,
            'You have been banned or have never visited before. If its the latter visit home first.',
            user)
    board = models.Board(request.args.get('board'))
    if not board.name:
        return utils.response(400, 'That board does not exist.', user)
    res = models.Post(board=board, id=request.args.get('id'))
    if res.board:
        return utils.response(200, res.dictate(), user)
    else:
        return utils.response(404, 'That post does not exit', user)
Пример #4
0
def get_posts():
    user = utils.session_check(request)
    if not user or user.fng:
        return utils.response(
            403,
            'You have been banned or have never visited before. If its the latter visit home first.',
            user)
    board = models.Board(request.args.get('board'))
    if not board.name:
        return utils.response(404, 'That board does not exist.', user)
    limit = int(request.args.get('limit'))
    if limit > int(cfg['post_pull_limit']):
        return utils.response(
            400, 'You can only pull {} posts per request'.format(
                cfg['post_pull_limit']), user)
    posts = models.get_posts(board, limit, dicc=True)
    return utils.response(200, posts, user)
Пример #5
0
def add_comment():
    user = utils.session_check(request)
    board = models.Board(request.args.get('board'))
    post = models.Post(id=request.args.get('post'), board=board)
    if 'subject' in request.form:
        subject = request.form['subject'][:int(cfg['max_subject_length'])]
    else:
        subject = ''
    comment = request.form['comment'][:int(cfg['max_comment_length'])]
    if not user or user.fng:
        return utils.response(
            403,
            'You have been banned or have never visited before. If its the latter visit home first.',
            user)
    if not board.name:
        return utils.response(404, 'That board does not exist.', user)
    if not utils.restrict_check(request, board):
        return utils.response(
            403, 'You have been banned from posting in this board.', user)
    post = models.Post(id=request.args.get('post'), board=board)
    if not post.board:
        return utils.response(404, 'That post does not exist.', user)
    if post.thread == 0:
        thread = post.id
    else:
        thread = post.thread
    if 'file' in request.files:
        file = request.files['file']
        if not utils.allowed_file(file):
            return utils.response(
                400, 'The image is of an unacceptable format or too large.',
                user)
        img = models.Image(file=file)
        if not img:
            return utils.response(500, 'Something went wrong. Try again later',
                                  user)
    else:
        img = models.Image(dummy=True)
        img.id = 0
    comment = ">>{}\n{}".format(post.id, comment)
    post = models.Post(board=board,
                       author=user,
                       subject=subject,
                       comment=comment,
                       image=img.id,
                       thread=thread)
    if post:
        return utils.response(201, post.dictate(), user)
    else:
        return utils.response(500, 'Something went wrong. Try again later.',
                              user)
Пример #6
0
def delete_post():
    user = utils.session_check(request)
    if not user or user.fng:
        return utils.response(
            403,
            'You have been banned or have never visited before. If its the latter visit home first.',
            user)
    board = models.Board(request.args.get('board'))
    if not board.name:
        return utils.response(404, 'That board does not exist.', user)
    post = models.Post(id=request.args.get('post'), board=board)
    if not post.board:
        return utils.response(404, 'That post does not exist.', user)
    if post.author.id == user.id:
        if post.delete():
            return utils.response(200, 'Post deleted successfully', user)
        else:
            return utils.response(500,
                                  'Something went wrong. Try again later.',
                                  user)
    else:
        return utils.response(403, 'You are not the author of this post.',
                              user)