diff --git a/server.py b/server.py index 4802c52..ddec9d8 100644 --- a/server.py +++ b/server.py @@ -19,63 +19,43 @@ def server(): def dbcon(sql): - con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") - cur = con.cursor() - cur.execute(sql) - con.commit() - return sql.fetchall() + try: + con = sqlite3.connect("party.db") + log_server("dbcon hat die Verbindung mit db aufgenommen", "WARNING") + cur = con.cursor() + cur.execute(sql) + con.commit() + except: + return "ERROR" def ipfin(): datei = open('ip.txt', 'r') print (datei.read()) return datei.read() - 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 + def return_dbcon(sql): + try: + con = sqlite3.connect("party.db") + log_server("return_dbcon hat die Verbindung mit db aufgenommen", "WARNING") + cur = con.cursor() + ergebnis = cur.execute(sql).fetchall() + con.commit() + return ergebnis + except: + return "Error" + def uptime(): + return int(zeit) - starttime # log system - def log_server(log): - log = date + " " + log + def log_server(log, type): + log = date + ' [' + type + '] ' + log datei = open('server.log', 'a') datei.write('\n' + " " + 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() - - - def problem_log(problem): - problem = date + " [PROBLEM] " + problem - datei = open('server.log', 'a') - datei.write('\n' + " " + problem) - log = date - datei.close() - - - def warning_log(warning): - warning = date + " [WARNING]" + warning - datei = open('server.log', 'a') - datei.write('\n' + " " + warning) - log = date - datei.close() - - # Materechner Logic def mate_logik(sorte, anzahl): if sorte == "Club Mate": @@ -113,13 +93,13 @@ def server(): # mws = mate wirtschafts system def mws(kisten): - log_server("mws wurde angefragt") + log_server("mws wurde angefragt", "INFO") return mate def sessionBeenden(sessionID): con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() os.makedirs(sessionID) @@ -132,13 +112,13 @@ def server(): type(img) img.save("./static/img/qr.png") else: - warning_log("QR-Code ist bereits vorhanden") + log_server("QR-Code ist bereits vorhanden", "WARNING") # Hauptseite @app.route("/") def index(): - log_server("called /") + log_server("called /", "INFO") return render_template("index.html") @@ -146,61 +126,61 @@ def server(): @app.route("/get_chat", methods=['POST']) def get_chat(): - log_server("called /get_chat") - log_server("called /get_chat with POST") + log_server("called /get_chat", "INFO") + log_server("called /get_chat with POST", "INFO") userID = request.form['userid'] sessionID = request.form['sessionid'] message = request.form['message'] zeit = date l = f"INSERT INTO seession (sessionname, sesionstatus, seessiontyp) VALUES( \'{sessionID}\', \'{userID}\',\'{message}\', \'{zeit}\');" - log_server("neue Nachricht") + log_server("neue Nachricht", "INFO") try: dbcon(l) - log_server("message entered successfully") + log_server("message entered successfully", "INFO") except Exception: - error_log("unable to get new Messages") + log_server("unable to get new Messages", "ERROR") # account = cursor.fetchone() return render_template("chat.html") @app.route("/get_game_file", methods=['POST']) def get_game_file(): - log_server("called /get_game_file") + log_server("called /get_game_file", "INFO") pick() @app.route("/get_new_message") def get_new_message(): - log_server("called /get_new_message") + log_server("called /get_new_message", "INFO") return render_template("chat.html") @app.route("/message") def message(): - log_server("called /message") + log_server("called /message", "INFO") return render_template("message.html") # planer @app.route("/get_planer", methods=['POST']) def get_planer(): - log_server("called /get_planer") - log_server("called /get_planer with POST") + log_server("called /get_planer", "INFO") + log_server("called /get_planer with POST", "INFO") event = request.form['event'] sessionID = request.form['sessionID'] zeit = request.form['zeit'] pfad = "/session/" + sessionID status = "running" l = f"INSERT INTO planer VALUES( \'{event}\', \'{zeit}\', \'{sessionID}\',\'{status}\');" - log_server("neues Event") + log_server("neues Event", "INFO") try: con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() cur.execute(l) con.commit() con.close() - log_server("event entered successfully /get_planer") + log_server("event entered successfully /get_planer", "INFO") except Exception: - error_log("unable to insert event") + log_server("unable to insert event", "ERROR") return redirect(f'/session/{sessionID}') @@ -208,7 +188,7 @@ def server(): def _session(id): #print(os.cpu_count()) #createChart("41", "NFSU2") - log_server(f"called /session/{id}") + log_server(f"called /session/{id}", "INFO") con = sqlite3.connect("party.db") cur = con.cursor() l = f"SELECT eventname FROM planer WHERE sessionID = \'{id}\' ORDER BY eventzeit;" @@ -321,7 +301,7 @@ def server(): @app.route("/mate", methods=['POST']) def mate(): - log_server("called /mate") + log_server("called /mate", "INFO") mateFlaschen = request.form['mateFlaschen'] @@ -356,25 +336,25 @@ def server(): mateSql = f"INSERT INTO mate VALUES (\"{mateSorte}\", \'{mateFlaschen}\', \'{sessionId}\');" try: con = sqlite3.connect("party.db") - warning_log("Verbindung mit Datenbank wurde aufgenommen /mate") + log_server("Verbindung mit Datenbank wurde aufgenommen /mate", "WARNING") cur = con.cursor() cur.execute(mateSql) con.commit() con.close() mate_logik(mateSorte, mateFlaschen) - log_server("mate wurde in Datenbank eingefügt") + log_server("mate wurde in Datenbank eingefügt", "INFO") except sqlite3.Error as e: - error_log(f"error while executing sql: {e}") + log_server(f"error while executing sql: {e}", "WARNING") return redirect(f'/session/{sessionId}') @app.route("/drink", methods=['POST']) def drink(): - log_server("called /drink") + log_server("called /drink", "INFO") con = sqlite3.connect("party.db") - warning_log("Verbindung mit Datenbank wurde aufgenommen /drink") + log_server("Verbindung mit Datenbank wurde aufgenommen /drink", "WARNING") cur = con.cursor() mateFlaschen = request.form['mateFlaschen'] sessionId = request.form['sessionID'] @@ -393,73 +373,73 @@ def server(): mateSql = f"UPDATE mate SET mateanzahl = \'{k}\' WHERE sessionID = \'{sessionId}\' AND matename = \'{mateSorte}\');" try: con = sqlite3.connect("party.db") - warning_log("Verbindung mit Datenbank wurde aufgenommen /drink") + log_server("Verbindung mit Datenbank wurde aufgenommen /drink", "WARNING") cur = con.cursor() cur.execute(mateSql) con.commit() con.close() mate_logik(mateSorte, mateFlaschen) - log_server("mate wurde in Datenbank eingefügt") + log_server("mate wurde in Datenbank eingefügt", "ERROR") except sqlite3.Error as e: - error_log(f"error while executing sql: {e}") + log_server(f"error while executing sql: {e}", "ERROR") return redirect(f'/session/{sessionId}') @app.route("/logout") def logout(): - log_server("called /logout") + log_server("called /logout", "INFO") user_count = -1 return render_template("logout.html") @app.route("/spiel") def spiel(): - log_server("called /spiel") + log_server("called /spiel", "INFO") user_count = -1 spiel = "Tomb raider" return render_template("spiel.html", spiel=spiel,) @app.route("/get_spiel") def get_spiel(): - log_server("called /get_spiel") + log_server("called /get_spiel", "INFO") return render_template("spielt.html") @app.route("/signin") def signin(): - log_server("called /signin") + log_server("called /signin", "INFO") return render_template("signin.html") @app.route("/password") def password(): - log_server("called /password") + log_server("called /password", "INFO") return render_template("passwort_ver.html") @app.route("/passwd") def passwd(): - log_server("called /passwd") + log_server("called /passwd", "INFO") return render_template("passwd.html") @app.route("/change") def change(): - log_server("called /change") + log_server("called /change", "INFO") return render_template("changeSession.html") @app.route("/create_session") def create_session(): - log_server("called /create_session") + log_server("called /create_session", "INFO") return render_template("createSession.html") @app.route("/get_creat_session", methods=['POST']) def get_creat_session(): - log_server("called /get_creat_session with POST") + log_server("called /get_creat_session with POST", "INFO") Gsessionname = request.form['sessionname'] GsessionID = request.form['sessionid'] Gusername = "Host" @@ -468,21 +448,19 @@ def server(): Gstatus = "online" l1 = f'INSERT INTO seession VALUES({GsessionID}, \'{Gsessionname}\', \'online\', \'public\');' print(l1) - log_server("neue Session") + log_server("neue Session", "INFO") con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() - log_server("a") cur.execute(l1) - log_server("f") user_count = +1 starttime = int(zeit) create_qr(GsessionID) try: con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("Verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() username = "Host" usertype = "admin" @@ -492,16 +470,16 @@ def server(): con.commit() con.close() except e: - warning_log("user admin konnte nicht angelegt werden") + log_server("User Admin konnte nicht angelegt werden", "WARNING") return redirect(f'/session/{GsessionID}') - log_server("session successfully started") + log_server("session successfully started", "INFO") @app.route("/charts") def charts(): - log_server("called /charts") + log_server("called /charts", "INFO") csessionID = request.form['sessionID'] con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("Verbidung mit db wurde aufgenommen", "WARNING") cur = con.cursor() k = f"SELCT COUNT(DISTINCT 'Spielname') FROM game WHERE sessionID = \'{csessionID}\';" cur.execute(k) @@ -510,14 +488,14 @@ def server(): @app.route("/login") def login(): - log_server("called /login") + log_server("called /login", "INFO") return render_template("login.html") @app.route("/stopuhr", methods=['POST']) def stopuhr(): - log_server("called /stopuhr") + log_server("called /stopuhr", "INFO") spielName = request.form['spiel'] art = request.form['art'] zeit = request.form['zeit'] @@ -525,11 +503,11 @@ def server(): sessionId = request.form['sessionID'] l = f"INSERT INTO game VALUES( \'{sessionId}\', \'{userId}\',\'{spielName}\',\'{art}\', \'{zeit}\');" try: - warning_log("verbindung mit Datenbank wurde aufgenommen") + log_server("Verbindung mit Datenbank wurde aufgenommen", "WARNING") dbcon(l) - log_server("time entered successfully /stopuhr") + log_server("time entered successfully /stopuhr", "INFO") except Exception: - error_log("unable to run sql /stopuhr") + log_server("unable to run sql /stopuhr", "ERROR") return redirect(f'/session/{sessionId}') @@ -539,11 +517,11 @@ def server(): sessionId = request.form['sessionID'] l = f"INSERT INTO pointgame VALUES( \'{sessionId}\', \'{userId}\',\'{spielName}\',\'{art}\', \'{punkte}\');" try: - warning_log("verbindung mit Datenbank wurde aufgenommen") + log_server("Verbindung mit Datenbank wurde aufgenommen", "WARNING") dbcon(l) - log_server("time entered successfully /pointGame") + log_server("time entered successfully /pointGame", "INFO") except Exception: - error_log("unable to run sql /pointGame") + log_server("unable to run sql /pointGame", "ERROR") return redirect(f'/session/{sessionId}') @@ -551,21 +529,21 @@ def server(): @app.route("/get_event", methods=['POST']) def get_event(): - log_server("called /get_event") + log_server("called /get_event", "INFO") event = request.form['event'] zeit = request.form['zeit'] sessionId = request.form['sessionid'] l = f"INSERT INTO game VALUES( \'{event}\', \'{zeit}\', \'{sessionId}\');" try: con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("Verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() cur.execute(l) con.commit() con.close() - log_server("event entered successfully /get_event") + log_server("event entered successfully /get_event", "INFO") except e: - error_log("unable to run sql /get_event") + log_server("unable to run sql /get_event", "ERROR") return render_template("login.html") @@ -573,7 +551,7 @@ def server(): @app.route("/controll") def controll(): - log_server("called /controll") + log_server("called /controll", "INFO") return render_template("controll.html") @app.route("/statistik", methods=['POST']) @@ -581,40 +559,39 @@ def server(): sessionId = request.form['id'] game = request.form['game'] createChart(sessionId, game) - log_server("called /statistik") + log_server("called /statistik", "INFO") return render_template("controll.html") @app.route("/game") def game(): - log_server("called /game") + log_server("called /game", "INFO") return render_template("game.html") @app.route("/rgb") def rgb(): - - log_server("called /rgb") + log_server("called /rgb", "INFO") return render_template("404.html") @app.route("/get_login", methods=['POST']) def get_login(): - log_server("called /get_login with POST") + log_server("called /get_login with POST", "INFO") username = request.form['username'] sessionId = request.form['sessionID'] userid = request.form['userID'] l = f"select * from user where userID = \'{userid}\' and username=\'{username}\' and sessionID=\'{sessionId}\';" con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("Verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() cur.execute(l) con.commit() con.close() # session['username'] = account['username'] - log_server("loggedin successfully") + log_server("loggedin successfully", "INFO") return redirect(f'/session/{sessionId}') con.close() @@ -622,14 +599,14 @@ def server(): @app.route("/new", methods=['POST']) def new(): - log_server("called /new with POST") + log_server("called /new with POST", "INFO") username = request.form['username'] sessionId = request.form['sessionID'] userId = request.form['sessionID'] info = "normal" l = f"INSERT INTO user(username, sessionID, info) VALUES (\'{username}\',\'{sessionId}\',\'{info}\');" con = sqlite3.connect("party.db") - warning_log("verbindung mit db wurde aufgenommen") + log_server("Verbindung mit db wurde aufgenommen", "WARNING") cur = con.cursor() cur.execute(l) con.commit() @@ -637,14 +614,14 @@ def server(): account = True # session['username'] = account['username'] - log_server("created new user successfully") + log_server("created new user successfully", "INFO") return redirect(f'/session/{sessionId}') con.close() @app.route("/upload_file", methods=["POST"]) def upload_file(): - log_server("called /upload_file with POST") + log_server("called /upload_file with POST", "INFO") """ log_server("called /upload_file") file = request.files @@ -660,7 +637,7 @@ def server(): @app.route("/send", methods=["POST"]) def send(): - log_server("called /send with POST") + log_server("called /send with POST", "INFO") message = request.form["message"] username = request.form["username"] @@ -674,7 +651,7 @@ def server(): @app.route("/get") def get(): - log_server("called /get with GET") + log_server("called /get with GET", "INFO") conn = sqlite3.connect("chat.db") c = conn.cursor() c.execute("SELECT username, message, timestamp FROM messages") @@ -685,7 +662,7 @@ def server(): @app.route("/chat") def chat(): - log_server("called /chat") + log_server("called /chat","INFO") return render_template("chat.html") @app.route("/music/") @@ -700,14 +677,13 @@ def server(): @app.errorhandler(404) def page_not_found(e): - error_log("called non-existing page") - # note that we set the 404 status explicitly + log_server("called non-existing page", "ERROR") return render_template('404.html'), 404 def create_app(config_filename): app.register_error_handler(404, page_not_found) - log_server("created app") + log_server("created app", "INFO") return app diff --git a/templates/session.html b/templates/session.html index 41ff871..91cf15a 100644 --- a/templates/session.html +++ b/templates/session.html @@ -46,7 +46,7 @@ - +