diff options
Diffstat (limited to 'wedding.py')
| -rw-r--r-- | wedding.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/wedding.py b/wedding.py new file mode 100644 index 0000000..e027502 --- /dev/null +++ b/wedding.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +import sqlite3 +#all the imports +from flask import Flask, request, session, g, redirect, url_for, render_template +from functools import wraps +import hashlib +from flask_mail import Mail, Message + +app = Flask(__name__) +app.config.from_envvar('CONF') +mail = Mail(app) + +def query_db(query, args=(), one=False): + cur = get_db().execute(query, args) + rv = cur.fetchone() if one else cur.fetchall() + cur.close() + return rv + +def connect_db(): + conn = sqlite3.connect(app.config['DATABASE'], + detect_types=sqlite3.PARSE_DECLTYPES) + conn.row_factory = sqlite3.Row + return conn + +def get_db(): + db = getattr(g, 'sqlite_db', None) + if db is None: + db = g.sqlite_db = connect_db() + return db + +@app.teardown_appcontext +def close_db(error): + """Closes the database again at the end of the request.""" + db = getattr(g, 'sqlite_db', None) + if db: + db.close() + +def login_required(f): + @wraps(f) + def decorated_function(*args, **kwargs): + if 'user_name' not in session: + return redirect(url_for('login', next=request.url)) + return f(*args, **kwargs) + return decorated_function + +@app.route('/') +@app.route('/home/') +@login_required +def main_page(): + print "i'm here" + return render_template("{0}/main.htm".format(session["lang"]), + lang=session["lang"]) + +@app.route('/login/', methods=['GET', 'POST']) +def login(): + session.clear() + if 'user_name' in session: + return redirect(url_for('main_page')) + + error = None + if request.method == 'POST': + session['user_name'] = request.form['username'] + password = hashlib.md5(request.form['password']).hexdigest() + session['lang'] = request.form['language'] + print session + return redirect(url_for('main_page')) + return render_template('login.htm') + +if __name__=="__main__": + app.run() |
