Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- from time import gmtime, strftime
- from flask import *
- import sys
- import psycopg2
- #NE PAS MODIFIER LA LIGNE SUIVANTE
- app = Flask(__name__)
- app.secret_key = "ouHISP8mkC"
- #"/" est l'addresse du site "/" = "http://isak.viste.emi.u-bordeaux.fr/flask/"
- #Par exemple: "/a" = "http://isak.viste.emi.u-bordeaux.fr/flask/a"
- @app.route("/", methods = ['POST', 'GET'])
- def main():
- if('username' not in session):
- # Si pas connecter, va la page d'inscription
- return(redirect(url_for('login')))
- try:
- #Se connecter a la base de donner SQL de l'utilisateur iviste (login de l'ent)
- conn = psycopg2.connect("host=dbserver dbname=iviste user=iviste")
- cur = conn.cursor()
- # Insert into database
- if request.method == 'POST':
- if(request.form['button'] == 'Submit'):
- u_name = session['username']
- u_message = request.form['message']
- u_time = strftime("%Y-%m-%d %H:%M:%S", gmtime())
- # If message is not null
- if(len(u_message) > 0):
- command = "INSERT INTO usermessages VALUES ( '" + u_name + "', '" + u_message + "', '" + u_time + "');"
- try:
- cur.execute(command)
- conn.commit()
- print("Message Sent")
- except Exception as e :
- return "error when running command: " + command + " : " + str(e)
- if(request.form['button'] == 'Logout'):
- return(redirect(url_for('logout')))
- cur.execute("SELECT mtime, color, users.username, message FROM users, usermessages WHERE users.username = usermessages.username ORDER BY mtime;")
- rows = cur.fetchall()
- rows = reversed(rows)
- # Close connection
- cur.close()
- conn.close()
- except Exception as e:
- return "Cannot connect to database: " + str(e)
- return render_template("chat.html", chat = rows)
- @app.route("/login", methods = ['POST', 'GET'])
- def login():
- try:
- conn = psycopg2.connect("host=dbserver dbname=iviste user=iviste")
- cur = conn.cursor()
- if(request.method == 'POST'):
- # REGISTER
- if(request.form['button'] == 'Register'):
- u_name = request.form['r_name']
- u_password = request.form['r_pass']
- u_color = request.form['r_color']
- if(len(u_name) > 0 or len(u_password) > 0):
- command = "INSERT INTO users VALUES ( '" + u_name + "', '" + u_password + "', '" + u_color + "');"
- try:
- cur.execute(command)
- conn.commit()
- print("Register Successful")
- except Exception as e :
- return "error when running command: " + command + " : " + str(e)
- # Close connection
- cur.close()
- conn.close()
- if(request.form['button'] == 'Login'):
- u_name = request.form['l_name']
- u_password = request.form['l_pass']
- if(len(u_name) > 0 and len(u_password) > 0):
- cur.execute("SELECT * FROM users;")
- rows = cur.fetchall()
- for i in rows:
- if(u_name == i[0] and u_password == i[1]):
- session['username'] = u_name
- print("Login Successful")
- return(redirect(url_for('main')))
- except Exception as e:
- return "Cannot connect to database: " + str(e)
- return render_template("login.html")
- @app.route("/logout")
- def logout():
- session.pop('username', None)
- return(redirect(url_for('login')))
- #NE SURTOUT PAS MODIFIER
- if __name__ == "__main__":
- app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement