Example #1
0
def remove(removal_id):
    paste = session.query(Paste).filter(Paste.removal_id == removal_id).first()

    if not paste:
        return render_template("404.html"), 404

    session.delete(paste)
    session.commit()

    return redirect(url_for("index"))
Example #2
0
def remove_json():
    paste = session.query(Paste).filter(Paste.removal_id == request.form["removal_id"]).first()

    if not paste:
        return "not found", 404

    session.delete(paste)
    session.commit()

    response = make_response(json.dumps([{"paste_id": paste.paste_id, "status": "removed"}]))
    response.headers["content-type"] = "application/json"


    return response
Example #3
0
def paste_json():
    lexer  = request.form["lexer"]
    raw    = request.form["code"]
    expiry = request.form["expiry"]

    try:
        paste = do_paste(raw, lexer, expiry, "json")
    except ValidationException:
        return "it didn't validate", 500

    session.add(paste)
    session.commit()

    response = make_response(json.dumps({"paste_id": paste.paste_id,
                                         "removal_id": paste.removal_id}))
    response.headers["content-type"] = "application/json"

    return response
Example #4
0
def paste():
    lexer  = request.form["lexer"]
    raw    = request.form["code"]
    expiry = request.form["expiry"]

    template = partial(render_template, "new.html", lexer=lexer,
            lexers=list_languages(), pagetitle="new")

    try:
        paste = do_paste(raw, lexer, expiry)
    except ValidationException:
        return template(message="It didn't validate!")

    session.add(paste)
    session.commit()

    response = redirect(url_for("show", paste_id=paste.paste_id))
    response.set_cookie("removal", str(paste.removal_id), path=url_for("show", paste_id=paste.paste_id))

    return response
Example #5
0
def main():
    args = sys.argv[1:]

    if args:
        if args[0] == "init_db":
            Base.metadata.create_all(engine)

        if args[0] == "add":
            paste = Paste("<html>hi</html>", lexer="html", expiry=timedelta(seconds=5))

            session.add(paste)
            session.commit()

        if args[0] == "remove":
            paste = session.query(Paste).filter(Paste.id == int(args[1])).first()

            session.delete(paste)
            session.commit()

        if args[0] == "list":
            for paste in session.query(Paste).all():
                print(paste)

        if args[0] == "reap":
            pastes = session.query(Paste).filter(Paste.exp_date < datetime.utcnow()).all()

            for paste in pastes:
                session.delete(paste)
            session.commit()

            print("Reaped {} expired pastes".format(len(pastes)))