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
):
33 return render_template('index.html')
35 @app.route('/admin/votes')
37 cur
= g
.db
.execute('select title, description, date from votes order by id desc')
38 votes
= [dict(title
=row
[0], description
=row
[1], date
=row
[2]) for row
in cur
.fetchall()]
39 return render_template('show_votes.html', votes
=votes
)
41 @app.route('/admin/vote/add', methods
=['POST'])
43 if not session
.get('logged_in'):
45 daten
= date
.today() + timedelta(days
=60)
46 ndate
= daten
.strftime('%d %B %Y')
47 g
.db
.execute('insert into votes (title, description, date) values (?, ?, ?)',
48 [request
.form
['title'], request
.form
['description'], ndate
])
50 flash('New entry was successfully posted')
51 return redirect(url_for('home'))
53 @app.route('/login', methods
=['GET', 'POST'])
56 if request
.method
== 'POST':
57 if request
.form
['username'] != app
.config
['USERNAME']:
58 error
= 'Invalid username'
59 elif request
.form
['password'] != app
.config
['PASSWORD']:
60 error
= 'Invalid password'
62 session
['logged_in'] = True
63 session
['nickname'] = request
.form
['username']
64 flash('You were logged in')
65 return redirect(url_for('home'))
66 return render_template('login.html', error
=error
)
70 session
.pop('logged_in', None)
71 flash('You were logged out')
72 return redirect(url_for('home'))
76 if __name__
== '__main__':