Exemplo n.º 1
0
def withdraw_():
    check = wallet.check()
    if not check:
        return redirect("/")
    if request.method == "POST":
        if request.form.get("email"):
            email = request.form['email']
            check = db.members.find_one({"email":email})
            if check:
                flash("Email already exists in our database.")
                return redirect("/account/edit")
            db.members.update({"email":session['login']}, {"$set":{"email":email}})
            flash("Email updated successfully!")
            return redirect("/account/edit")
        if request.form.get("password"):
            password = protect.protect(request.form['password'])
            confirm = protect.protect(request.form['verifypassword'])
            if password != confirm:
                flash("Passwords do not match.")
                return redirect("/account/edit")
            else:
                db.members.update({"email":session['login']}, {"$set":{"password":password}})
                flash("Password updated successfully.")
                return redirect("/account/edit")
    return render_template("edit.html", user=check, admin=check['admin'])
Exemplo n.º 2
0
def register_():
    if "login" in session:
        return redirect("/")
    
    if request.method == "POST":
        email = request.form['email']
        password = protect.protect(request.form['password'])
        confirm = protect.protect(request.form['confirmpassword'])
        rsname = request.form['rsname']
        check = db.members.find_one({"email":email})
        if check:
            flash("Email already taken.")
            return redirect("/register/")
        elif db.members.find_one({"rsname":rsname}):
            flash("Runescape name already taken.")
            return redirect("/register/")
        elif password != confirm:
            flash("Passwords do not match.")
            return redirect("/register/")
        else:
            db.members.insert({"email":email, "password":password, "rsname":rsname, "wallet":0, "admin":False, "verified":False})
            session['login'] = email
            return redirect("/")

    return render_template("register.html")
Exemplo n.º 3
0
def save(g, mode='B'):
    """ Save the program to stream g in (A)scii, (B)ytecode or (P)rotected mode. """
    if state.basic_state.protected and mode != 'P':
        raise error.RunError(5)
    current = state.basic_state.bytecode.tell()
    # skip first \x00 in bytecode, replace with appropriate magic number
    state.basic_state.bytecode.seek(1)
    if mode == 'B':
        # binary bytecode mode
        g.write('\xff')
        last = ''
        while True:
            nxt = state.basic_state.bytecode.read(1)
            if not nxt:
                break
            g.write(nxt)
            last = nxt
        if last != '\x1a':
            g.write('\x1a')    
    elif mode == 'P':
        # protected mode
        g.write('\xfe')
        protect.protect(state.basic_state.bytecode, g)
        g.write('\x1a')    
    else:
        # ascii mode
        while True:
            current_line, output, _ = tokenise.detokenise_line(state.basic_state.bytecode)
            if current_line == -1 or (current_line > max_list_line):
                break
            output = str(output)    
            if utf8_files:
                output = unicodepage.UTF8Converter().to_utf8(output)
            g.write(output + '\r\n')
        # close with ^Z if we're in GW-BASIC text file mode to match GW-BASIC files exactly
        # don't do this in UTF8-mode as it's a bit odd to have a legacy end-of-file marker in a UTF8 text.
        if not utf8_files:    
            g.write('\x1a')       
    state.basic_state.bytecode.seek(current)         
    g.close()
Exemplo n.º 4
0
def save(g):
    """ Save the program to stream g in (A)scii, (B)ytecode or (P)rotected mode. """
    mode = g.filetype
    if state.basic_state.protected and mode != 'P':
        raise error.RunError(error.IFC)
    current = state.basic_state.bytecode.tell()
    # skip first \x00 in bytecode
    state.basic_state.bytecode.seek(1)
    if mode == 'B':
        # binary bytecode mode
        g.write(state.basic_state.bytecode.read())
    elif mode == 'P':
        # protected mode
        protect.protect(state.basic_state.bytecode, g)
    else:
        # ascii mode
        while True:
            current_line, output, _ = tokenise.detokenise_line(state.basic_state.bytecode)
            if current_line == -1 or (current_line > max_list_line):
                break
            g.write_line(str(output))
    state.basic_state.bytecode.seek(current)
Exemplo n.º 5
0
def save(g):
    """ Save the program to stream g in (A)scii, (B)ytecode or (P)rotected mode. """
    mode = g.filetype
    if state.basic_state.protected and mode != 'P':
        raise error.RunError(error.IFC)
    current = state.basic_state.bytecode.tell()
    # skip first \x00 in bytecode
    state.basic_state.bytecode.seek(1)
    if mode == 'B':
        # binary bytecode mode
        g.write(state.basic_state.bytecode.read())
    elif mode == 'P':
        # protected mode
        protect.protect(state.basic_state.bytecode, g)
    else:
        # ascii mode
        while True:
            current_line, output, _ = tokenise.detokenise_line(
                state.basic_state.bytecode)
            if current_line == -1 or (current_line > max_list_line):
                break
            g.write_line(str(output))
    state.basic_state.bytecode.seek(current)
Exemplo n.º 6
0
def login_():
    if "session" in session:
        return redirect("/")

    if request.method == "POST":
        email = request.form['email']
        password = protect.protect(request.form['password'])
        check = db.members.find_one({"email":email, "password":password})
        if not check:
            flash("Invalid Login")
            return redirect("/login/")
        else:
            session['login'] = email
            return redirect("/")
    return render_template("login.html")
Exemplo n.º 7
0
def post():
    if not check_login():
        if request.method == "POST":
            username = request.form['username']
            password = protect.protect(request.form['password'])
            if db.find("admin", {"username":username, "password":password}):
                session['login'] = username
                return redirect("/post/")
            else:
                return "Login Failed"
        return render_template("login.html",  config=config.data)
    else:
        if request.method == "POST":
            title = request.form['title']
            post = Markup(request.form['post'].replace("\n", "<br/>").replace("\r", "&nbsp;"))
            db.insert("posts", {"title":title, "post":post, "by":config.data['name'], "date":"{0}/{1}/{2}".format(datetime.datetime.now().timetuple()[1], datetime.datetime.now().timetuple()[2], datetime.datetime.now().timetuple()[0])})
            return redirect("/")
        return render_template("post.html",  config=config.data)
Exemplo n.º 8
0
import landerdb
import protect
import getpass

data = {

        "blog_title":"Frankie's Blog",
        "blog_description":"",
        "admin":"frankie",
        "name":"Frankie",
        "db":"ambel.db",
        "debug":True,

}


if __name__ == "__main__":
    db = landerdb.Connect(data['db'])
    db.insert("admin", {"username":data['admin'], "password":protect.protect(getpass.getpass("Admin Password: "******"name":data['name']})
    db.insert("posts", {})
    db.remove("posts", {})