2 # -*- coding: utf-8 -*-
4 from flask
import Flask
, request
, session
, g
, redirect
, url_for
, abort
, \
7 from datetime
import date
, timedelta
9 locale
.setlocale(locale
.LC_ALL
, '')
11 DATABASE
= '/tmp/cavote.db'
12 SECRET_KEY
= '{J@uRKO,xO-PK7B,jF?>iHbxLasF9s#zjOoy=+:'
18 app
.config
.from_object(__name__
)
21 return sqlite3
.connect(app
.config
['DATABASE'])
28 def teardown_request(exception
):
31 @app.route('/admin/votes')
33 cur
= g
.db
.execute('select title, description, date from votes order by id desc')
34 votes
= [dict(title
=row
[0], description
=row
[1], date
=row
[2]) for row
in cur
.fetchall()]
35 return render_template('show_votes.html', votes
=votes
)
37 @app.route('/admin/vote/add', methods
=['POST'])
39 if not session
.get('logged_in'):
41 daten
= date
.today() + timedelta(days
=60)
42 ndate
= daten
.strftime('%d %B %Y')
43 g
.db
.execute('insert into votes (title, description, date) values (?, ?, ?)',
44 [request
.form
['title'], request
.form
['description'], ndate
])
46 flash('New entry was successfully posted')
47 return redirect(url_for('show_votes'))
49 @app.route('/login', methods
=['GET', 'POST'])
52 if request
.method
== 'POST':
53 if request
.form
['username'] != app
.config
['USERNAME']:
54 error
= 'Invalid username'
55 elif request
.form
['password'] != app
.config
['PASSWORD']:
56 error
= 'Invalid password'
58 session
['logged_in'] = True
59 flash('You were logged in')
60 return redirect(url_for('show_votes'))
61 return render_template('login.html', error
=error
)
65 session
.pop('logged_in', None)
66 flash('You were logged out')
67 return redirect(url_for('show_votes'))
71 if __name__
== '__main__':