diff --git a/main.py b/main.py index c68a38e..d829f15 100644 --- a/main.py +++ b/main.py @@ -17,6 +17,7 @@ log = date app.config['SECRET_KEY'] = 'party' matekiste = 0 + def dbcon(sql): con = sqlite3.connect("party.db") warning_log("verbindung mit db wurde aufgenommen") @@ -25,17 +26,20 @@ def dbcon(sql): con.commit() return sql.fetchall() + def dbcon1(sql): con = sqlite3.connect("party.db") cur = con.cursor() return cur.execute(sql) + def uptime(): time = int(zeit) uptime = time - starttime return uptime -#log system + +# log system def log_server(log): log = date + " " + log datei = open('server.log', 'a') @@ -43,53 +47,55 @@ def log_server(log): log = date datei.close() + def error_log(error): error = date + " [ERROR] " + error datei = open('server.log', 'a') datei.write('\n' + " " + error) log = date - datei.close() + datei.close() + def problem_log(problem): - problem = date + " [PROBLEM] "+ problem + problem = date + " [PROBLEM] " + problem datei = open('server.log', 'a') datei.write('\n' + " " + problem) log = date - datei.close() + datei.close() + def warning_log(warning): - warning = date + " [WARNING] "+ warning + warning = date + " [WARNING]" + warning datei = open('server.log', 'a') datei.write('\n' + " " + warning) log = date - datei.close() + datei.close() -# Materechner Logic +# Materechner Logic def mate_logik(sorte, anzahl): - - if sorte == "Club Mate": + if sorte == "Club Mate": koffeingehalt = 100 - if sorte == "Mio Mate": + if sorte == "Mio Mate": koffeingehalt = 100 - if sorte == "Flora Mate": + if sorte == "Flora Mate": koffeingehalt = 90 - if sorte == "Mate Mate": + if sorte == "Mate Mate": koffeingehalt = 150 - if sorte == "Buenos Mate": + if sorte == "Buenos Mate": koffeingehalt = 100 - if sorte == "1337 Mate": + if sorte == "1337 Mate": koffeingehalt = 145 - if sorte == "Charitea Mate": + if sorte == "Charitea Mate": koffeingehalt = 15 - if sorte == "Bionade Mate": + if sorte == "Bionade Mate": koffeingehalt = 20 return koffeingehalt * anzahl @@ -100,12 +106,13 @@ def mate_logik(sorte, anzahl): case "Mio Mio": koffeingehalt = ''' + # mws = mate wirtschafts system def mws(kisten): - log_server("mws wurde angefragt") return mate + # Qr-code generator# def create_qr(id): if not os.path.exists("./static/img/qr.png"): @@ -115,13 +122,15 @@ def create_qr(id): else: warning_log("QR-Code ist bereits vorhanden") -#Hauptseite + +# Hauptseite @app.route("/") def index(): log_server("called /") return render_template("index.html") -#Neue Nachrichten + +# Neue Nachrichten @app.route("/get_chat", methods=['POST']) def get_chat(): if session: @@ -136,28 +145,30 @@ def get_chat(): try: dbcon(l) log_server("message entered successfully") - - except: + except Exception: error_log("unable to get new Messages") - account = cur.fetchone() + # account = cursor.fetchone() return render_template("chat.html") else: - warning_log(" called /get_chat without being logged in") - return "{ \"message\": \"you need to login\"'}" + warning_log(" called /get_chat without being logged in") + return "{ \"message\": \"you need to login\"'}" + @app.route("/get_game_file", methods=['POST']) def get_game_file(): - log_server("called /get_game_file") - pick() + log_server("called /get_game_file") + pick() + @app.route("/get_new_message") def get_new_message(): if session: log_server("called /get_new_message") - return render_template("chat.html") + return render_template("chat.html") else: - warning_log(" called /get_new_message without being logged in") - return render_template('passwd.html') + warning_log(" called /get_new_message without being logged in") + return render_template('passwd.html') + @app.route("/message") def message(): @@ -165,10 +176,11 @@ def message(): log_server("called /message") return render_template("message.html") else: - warning_log(" called /message without being logged in") - return render_template('passwd.html') + warning_log(" called /message without being logged in") + return render_template('passwd.html') -#planer + +# planer @app.route("/get_planer", methods=['POST']) def get_planer(): if session: @@ -185,17 +197,18 @@ def get_planer(): con = sqlite3.connect("party.db") warning_log("verbindung mit db wurde aufgenommen") cur = con.cursor() - cur.execute(l) + cur.execute(l) con.commit() con.close() log_server("event entered successfully /get_planer") - except: + except Exception: error_log("unable to insert event") return redirect(f'/session/{sessionID}') else: - warning_log(" called /get_planer without being logged in") - return render_template('404.html') + warning_log(" called /get_planer without being logged in") + return render_template('404.html') + @app.route("/session/") def session(id): @@ -266,17 +279,20 @@ def session(id): con.commit() cur.close() - return render_template("session.html", zeit=zeit, aktivitaet=aktivitaet, user=user, eventname=eventname, eventzeit=eventzeit, game=game, useranzahl=useranzahl, creator=creator, mate=mate, der=uptime()) + return render_template("session.html", + zeit=zeit, + aktivitaet=aktivitaet, + user=user, + eventname=eventname, + eventzeit=eventzeit, + game=game, + useranzahl=useranzahl, + creator=creator, + mate=mate, + der=uptime()) else: - warning_log(" called /session without being logged in") - return render_template('passwd.html') - -def mate_logik(sorte, anzahl): - anzahl = anzahl + 1 - koffeingehalt = 0 - match sorte: - case "Mio Mio": - koffeingehalt = + warning_log(" called /session without being logged in") + return render_template('passwd.html') @app.route("/mate", methods=['POST']) @@ -284,30 +300,30 @@ def mate(): log_server("called /mate") if session: - mateFlaschen = request.form['mateFlaschen'] - sessionId = request.form['sessionID'] + mateFlaschen = request.form['mateFlaschen'] + sessionId = request.form['sessionID'] mateSorte = request.form['mateSorte'] if mateSorte == "Club Mate" and mateFlaschen == 20: - matekiste +1 + matekiste + 1 mws(matekiste) if mateSorte == "Mio Mio" and mateFlaschen == 12: matekiste + 1 mws(matekiste) if mateSorte == "Flora Mate" and mateFlaschen == 20: - matekiste +1 + matekiste + 1 mws(matekiste) if mateSorte == "Mate Mate" and mateFlaschen == 20: martekiste + 1 mws(martekiste) if mateSorte == "Buenos Mate" and mateFlaschen == 20: - matekiste +1 + matekiste + 1 mws(matekiste) if mateSorte == "Charitea Mate" and mateFlaschen == 12: matekiste + 1 mws(matekiste) if mateSorte == "1337 Mate" and mateFlaschen == 20: - matekiste +1 + matekiste + 1 mws(matekiste) if mateSorte == "Bionade Mate" and mateFlaschen == 20: martekiste + 1 @@ -328,8 +344,9 @@ def mate(): error_log(f"error while executing sql: {e}") return redirect(f'/session/{sessionId}') else: - warning_log(" called /mate without being logged in") - return render_template('/passwd') + warning_log(" called /mate without being logged in") + return render_template('/passwd') + @app.route("/logout") def logout(): @@ -337,31 +354,37 @@ def logout(): user_count = -1 return render_template("logout.html") + @app.route("/signin") def signin(): log_server("called /signin") return render_template("signin.html") + @app.route("/password") def password(): log_server("called /password") return render_template("passwort_ver.html") + @app.route("/passwd") def passwd(): log_server("called /passwd") return render_template("passwd.html") + @app.route("/change") def change(): log_server("called /change") return render_template("changeSession.html") + @app.route("/create_session") def create_session(): log_server("called /create_session") return render_template("createSession.html") + @app.route("/get_creat_session", methods=['POST']) def get_creat_session(): log_server("called /get_creat_session with POST") @@ -370,14 +393,14 @@ def get_creat_session(): l = f"INSERT INTO seession (sessionname, sessionstatus, seessiontyp) VALUES( \'{sessionname}\', 'online','public');" log_server("neue Session") try: - con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") - cur = con.cursor() - cur.execute(l) - con.commit() - con.close() - - try: + con = sqlite3.connect("party.db") + warning_log("verbindung mit db wurde aufgenommen") + cur = con.cursor() + cur.execute(l) + con.commit() + con.close() + + try: con = sqlite3.connect("party.db") warning_log("verbindung mit db wurde aufgenommen") cur = con.cursor() @@ -385,27 +408,28 @@ def get_creat_session(): usertype = "admin" userId = 1 l = f"INSERT INTO user (username, sessionID, info) VALUES (\'{username}\', {sessionID}, \'{usertype}\');" - cur.execute(l) + cur.execute(l) con.commit() con.close() - except: + except e: warning_log("user admin konnte nicht angelegt werden") - - user_count = +1 - starttime = int(zeit) - create_qr(sessionID) - return redirect(f'/session/{sessionID}') - log_server("session successfully started") - except: + + user_count = +1 + starttime = int(zeit) + create_qr(sessionID) + return redirect(f'/session/{sessionID}') + log_server("session successfully started") + except e: error_log("unable to create Session") return "{ \"message\": \"Login failed\"'}" - - + + @app.route("/login") def login(): log_server("called /login") return render_template("login.html") + @app.route("/stopuhr", methods=['POST']) def stopuhr(): if session: @@ -420,12 +444,13 @@ def stopuhr(): warning_log("verbindung mit Datenbank wurde aufgenommen") dbcon(l) log_server("time entered successfully /stopuhr") - except: + except e: error_log("unable to run sql /stopuhr") return redirect(f'/session/{sessionId}') else: - warning_log(" called /stopuhr without being logged in") - return render_template('passwd.html') + warning_log(" called /stopuhr without being logged in") + return render_template('passwd.html') + @app.route("/get_event", methods=['POST']) def get_event(): @@ -439,16 +464,17 @@ def get_event(): con = sqlite3.connect("party.db") warning_log("verbindung mit db wurde aufgenommen") cur = con.cursor() - cur.execute(l) + cur.execute(l) con.commit() con.close() log_server("event entered successfully /get_event") - except: + except e: error_log("unable to run sql /get_event") return render_template("login.html") else: - warning_log(" called /get_event without being logged in") - return render_template('passwd.html') + warning_log(" called /get_event without being logged in") + return render_template('passwd.html') + @app.route("/controll") def controll(): @@ -456,8 +482,9 @@ def controll(): log_server("called /controll") return render_template("controll.html") else: - warning_log(" called /controll without being logged in") - return render_template('passwd.html') + warning_log(" called /controll without being logged in") + return render_template('passwd.html') + @app.route("/game") def game(): @@ -465,9 +492,9 @@ def game(): log_server("called /game") return render_template("game.html") else: - warning_log(" called /game without being logged in") + warning_log(" called /game without being logged in") - return render_template('passwd.html') + return render_template('passwd.html') @app.route("/rgb") @@ -476,8 +503,9 @@ def rgb(): log_server("called /rgb") return render_template("404.html") else: - warning_log(" called /rgb without being logged in") - return render_template('passwd.html') + warning_log(" called /rgb without being logged in") + return render_template('passwd.html') + @app.route("/get_login", methods=['POST']) def get_login(): @@ -489,15 +517,16 @@ def get_login(): con = sqlite3.connect("party.db") warning_log("verbindung mit db wurde aufgenommen") cur = con.cursor() - cur.execute(l) + cur.execute(l) con.commit() con.close() - # session['username'] = account['username'] + # session['username'] = account['username'] log_server("loggedin successfully") return redirect(f'/session/{sessionId}') - + con.close() + @app.route("/new", methods=['POST']) def new(): log_server("called /new with POST") @@ -509,27 +538,30 @@ def new(): con = sqlite3.connect("party.db") warning_log("verbindung mit db wurde aufgenommen") cur = con.cursor() - cur.execute(l) + cur.execute(l) con.commit() con.close() account = True - - # session['username'] = account['username'] + + # session['username'] = account['username'] log_server("created new user successfully") return redirect(f'/session/{sessionId}') - + con.close() + @app.errorhandler(404) def page_not_found(e): error_log("called non-existing page") # note that we set the 404 status explicitly return render_template('404.html'), 404 + def create_app(config_filename): app.register_error_handler(404, page_not_found) log_server("created app") return app + # Use this line to run it localy -#app.run(host="ip", port=80) +# app.run(host="", port=80)