89 lines
1.9 KiB
Python
89 lines
1.9 KiB
Python
import database_connector
|
|
from flask import Flask, request, render_template, session, redirect, url_for, flash
|
|
import datetime
|
|
import secrets
|
|
|
|
"""
|
|
pas de locatie id aan zoals weergeven in moderator scherm
|
|
"""
|
|
locatieid = 1
|
|
|
|
"""
|
|
test var, het het nogmaal gesproken op False
|
|
"""
|
|
debug = True
|
|
|
|
"""
|
|
database objecten, om minder te typen
|
|
"""
|
|
conn = database_connector.conn
|
|
cur = database_connector.cur
|
|
|
|
"""
|
|
stel flask in
|
|
"""
|
|
app = Flask(__name__)
|
|
|
|
"""
|
|
als debug op true is een vaste secret key gebruiken, dit is zodat we niet elke keer in hoefen te loggen na een
|
|
code wijziging. Maar in productie elke start een nieuwe token genereren
|
|
"""
|
|
if debug == True:
|
|
app.secret_key = 'jdndhsyh83r90hfeqwf' # dit is om live te testen
|
|
else:
|
|
app.secret_key = secrets.token_hex(32)
|
|
|
|
|
|
|
|
def func_getlocaties(locatieid):
|
|
cur.execute('SELECT * FROM locaties WHERE locatieid = (%s)', [locatieid])
|
|
return cur.fetchall()[0]
|
|
|
|
def func_invoerdatabase(bericht, naamposter, locatieid):
|
|
date = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")
|
|
try:
|
|
QUERY = 'INSERT INTO berichten(bericht, datumontvangen, locatieid, naamposter, statusid) VALUES (%s, %s, %s, %s, %s)'
|
|
DATA = (bericht, date, locatieid, naamposter, '1')
|
|
cur.execute(QUERY, DATA)
|
|
conn.commit()
|
|
return True
|
|
except:
|
|
return False
|
|
|
|
def func_checkinvoer(bericht, naamposter):
|
|
if len(bericht) > 140:
|
|
return False
|
|
elif len(bericht) < 16:
|
|
return False
|
|
|
|
if len(naamposter) > 32:
|
|
return False
|
|
elif len(naamposter) < 3:
|
|
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/')
|
|
def root():
|
|
return redirect(url_for('zuil'))
|
|
|
|
@app.route('/zuil')
|
|
def zuil():
|
|
|
|
return render_template('zuil.html', locatie=func_getlocaties(locatieid))
|
|
|
|
@app.route('/zuil/post', methods=['POST'])
|
|
def zuil_post():
|
|
flash('We hebben uw bericht ontvangen')
|
|
|
|
return redirect(url_for('zuil'))
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app.run('0.0.0.0', debug=debug) |