Merge branch 'main' into game

This commit is contained in:
Fingadumbledore 2022-12-22 17:16:46 +01:00 committed by GitHub
commit 1a2ed0d3a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 143 additions and 95 deletions

1
.sums Normal file
View File

@ -0,0 +1 @@
dbfbf6b3987f9fb0f75b46515769394a party.db

218
main.py
View File

@ -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/<id>")
def session(id):
@ -280,40 +293,53 @@ def session(id):
con.commit()
cur.close()
return render_template("session.html", uids=uids, unames=unames, 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')
warning_log(" called /session without being logged in")
return render_template('passwd.html')
@app.route("/mate", methods=['POST'])
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
@ -327,13 +353,16 @@ def mate():
cur.execute(mateSql)
con.commit()
con.close()
mate_logik(mateSorte, mateFlaschen)
log_server("mate wurde in Datenbank eingefügt")
except sqlite3.Error as e:
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():
@ -341,31 +370,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")
@ -374,14 +409,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()
@ -389,27 +424,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:
@ -424,12 +460,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():
@ -443,16 +480,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():
@ -460,8 +498,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():
@ -469,9 +508,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")
@ -480,8 +519,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():
@ -493,15 +533,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")
@ -513,27 +554,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="<ip>", port=80)

13
run.sh
View File

@ -1,13 +1,16 @@
#!/bin/sh
python -c "import qrcode"
if [ $? -eq 1 ]; then
pip install qrcode
else
echo "qrcode package is installed"
fi
cat party.sql | sqlite3 party.db
md5sum -c .sums
if [ $? -eq 1 ]; then
rm party.db
cat party.sql | sqlite3 party.db
fi
export FLASK_APP=main.py
flask run
flask run

View File

@ -34,9 +34,9 @@
<a onclick= "change_div('_chat')">
<button class="btn btn-primary btn-lg">Chat</button>
</a>
<a onclick= "change_div('_mate')">
<button class="btn btn-primary btn-lg">Mate</button>
</a>
<a onclick= "change_div('_mate')">
<button class="btn btn-primary btn-lg">Mate</button>
</a>
<a onclick= "change_div('_seession')">
<button class="btn btn-primary btn-lg">Session</button>
</a>