zuil_web.py petty much af
This commit is contained in:
parent
ca26664d29
commit
d2339b23c2
@ -20,9 +20,10 @@ cur = database_connector.cur
|
||||
|
||||
|
||||
"""
|
||||
stel flask in
|
||||
stel flask in en twitter api in
|
||||
"""
|
||||
app = Flask(__name__)
|
||||
twitter_API = TwitterAPI(TWITTER_APIKEY, TWITTER_APISECRET, TWITTER_ACCESSTOKEN, TWITTER_ACCESSSECRET)
|
||||
|
||||
"""
|
||||
als debug op true is een vaste secret key gebruiken, dit is zodat we niet elke keer in hoefen te loggen na een
|
||||
@ -220,11 +221,29 @@ def func_messagereject(berichtid):
|
||||
ontvangt berichtid en publiceert het naar twitter blah blah verder noteren later
|
||||
"""
|
||||
def func_publish_twitter(berichtid):
|
||||
return True
|
||||
cur.execute('SELECT berichten.berichtid, berichten.bericht, berichten.naamposter, locaties.naam '
|
||||
'FROM berichten '
|
||||
'LEFT OUTER JOIN locaties ON berichten.locatieid = locaties.locatieid '
|
||||
'WHERE berichtid = (%s)', [berichtid])
|
||||
bericht = cur.fetchone()
|
||||
|
||||
formatted = str(bericht[1] + ' | Door ' + bericht[2] + ' op ' + bericht[3])
|
||||
|
||||
response = twitter_API.request('statuses/update', {'status': formatted})
|
||||
jsonresponse = response.json()
|
||||
|
||||
if response.status_code == 200:
|
||||
QUERY = 'INSERT INTO twitterberichten(twitterid, datumpublished) VALUES (%s, %s)'
|
||||
DATA = (jsonresponse['id'], jsonresponse['created_at'])
|
||||
cur.execute(QUERY, DATA)
|
||||
|
||||
QUERY = 'UPDATE berichten SET twitterid = (%s) WHERE berichtid = (%s)'
|
||||
DATA = (jsonresponse['id'], berichtid)
|
||||
cur.execute(QUERY, DATA)
|
||||
conn.commit()
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
"""
|
||||
@ -362,9 +381,15 @@ def autoqueue():
|
||||
def autoqueue_accept():
|
||||
if 'username' in session:
|
||||
if func_messageaccept(request.form['good']):
|
||||
if func_publish_twitter(request.form['good']):
|
||||
return redirect(url_for('autoqueue'))
|
||||
else:
|
||||
flash('Probleem met het publiceren op twitter')
|
||||
return redirect(url_for('autoqueue'))
|
||||
else:
|
||||
flash('Probleem met het opslaan van de moderatie')
|
||||
return redirect(url_for('autoqueue'))
|
||||
|
||||
else:
|
||||
flash('You are not logged in!')
|
||||
return redirect(url_for('login'))
|
||||
@ -375,6 +400,7 @@ def autoqueue_reject():
|
||||
if func_messagereject(request.form['bad']):
|
||||
return redirect(url_for('autoqueue'))
|
||||
else:
|
||||
flash('Probleem met het opslaan van de moderatie')
|
||||
return redirect(url_for('autoqueue'))
|
||||
else:
|
||||
flash('You are not logged in!')
|
||||
|
@ -2,18 +2,30 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{{ locatie[1] }}</title>
|
||||
<title>NS zuil</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"/>
|
||||
</head>
|
||||
<body>
|
||||
{% if dank == True %}
|
||||
<meta http-equiv="refresh" content="5; url=/">
|
||||
<p>Bedankt voor uw feedback</p>
|
||||
{% elif datafout == True %}
|
||||
<meta http-equiv="refresh" content="5; url=/">
|
||||
<p>Probleem met het invoeren in de database</p>
|
||||
{% elif invoerfout == True %}
|
||||
<meta http-equiv="refresh" content="5; url=/">
|
||||
<p>Uw bericht mag moet minimaal 16 en maximaal 140 characters bevatten</p>
|
||||
<p>En uw naam moet minimaal 3 en maximaal 32 characters bevatten</p>
|
||||
{% else %}
|
||||
<h1>Welkom op {{ locatie[1] }}</h1>
|
||||
{% include 'flash_template.html' %}
|
||||
<p>Heeft u feedback voor ons?</p>
|
||||
<form method="POST" action="/zuil/post">
|
||||
<input type="text" placeholder="Wat is uw feedback" name="bericht" required>
|
||||
<input type="text" placeholder="Wat is uw naam" name="naam" required>
|
||||
<input type="text" placeholder="Wat is uw naam" name="naam" value="Anoniem" required>
|
||||
<button type="submit">Verstuur</button>
|
||||
</form>
|
||||
<p>Feedback wordt openbaar gemaakt op Twitter na goedkeuring</p>
|
||||
{% endif %}
|
||||
</body>
|
||||
</html>
|
19
zuil_web.py
19
zuil_web.py
@ -39,7 +39,7 @@ def func_getlocaties(locatieid):
|
||||
cur.execute('SELECT * FROM locaties WHERE locatieid = (%s)', [locatieid])
|
||||
return cur.fetchall()[0]
|
||||
|
||||
def func_invoerdatabase(bericht, naamposter, locatieid):
|
||||
def func_invoerdatabase(bericht, naamposter):
|
||||
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)'
|
||||
@ -61,6 +61,7 @@ def func_checkinvoer(bericht, naamposter):
|
||||
elif len(naamposter) < 3:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
||||
@ -72,17 +73,17 @@ def root():
|
||||
|
||||
@app.route('/zuil')
|
||||
def zuil():
|
||||
|
||||
return render_template('zuil.html', locatie=func_getlocaties(locatieid))
|
||||
return render_template('zuil.html', locatie=func_getlocaties(locatieid), dank=False, datafout=False, invoerfout=False)
|
||||
|
||||
@app.route('/zuil/post', methods=['POST'])
|
||||
def zuil_post():
|
||||
flash('We hebben uw bericht ontvangen')
|
||||
|
||||
return redirect(url_for('zuil'))
|
||||
|
||||
|
||||
|
||||
if func_checkinvoer(request.form['bericht'], request.form['naam']):
|
||||
if func_invoerdatabase(request.form['bericht'], request.form['naam']):
|
||||
return render_template('zuil.html', dank=True, datafout=False, invoerfout=False)
|
||||
else:
|
||||
return render_template('zuil.html', dank=False, datafout=True, invoerfout=False)
|
||||
else:
|
||||
return render_template('zuil.html', dank=False, datafout=False, invoerfout=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Reference in New Issue
Block a user