2010-05-03 11:20:52 +02:00
|
|
|
from flask import Flask, session, g, render_template
|
2010-05-15 23:19:13 +02:00
|
|
|
from flaskext.openid import OpenID
|
2010-05-02 16:52:15 +02:00
|
|
|
|
2010-05-02 19:07:42 +02:00
|
|
|
import websiteconfig as config
|
|
|
|
|
|
2010-05-02 16:52:15 +02:00
|
|
|
app = Flask(__name__)
|
2010-05-02 19:07:42 +02:00
|
|
|
app.debug = config.DEBUG
|
2010-05-03 11:20:52 +02:00
|
|
|
app.secret_key = config.SECRET_KEY
|
2010-05-02 16:52:15 +02:00
|
|
|
|
2010-05-15 23:19:13 +02:00
|
|
|
from flask_website.openid_auth import DatabaseOpenIDStore
|
|
|
|
|
oid = OpenID(store_factory=DatabaseOpenIDStore)
|
|
|
|
|
|
2010-05-02 16:52:15 +02:00
|
|
|
@app.errorhandler(404)
|
|
|
|
|
def not_found(error):
|
|
|
|
|
return render_template('404.html'), 404
|
|
|
|
|
|
2010-05-03 11:20:52 +02:00
|
|
|
@app.before_request
|
|
|
|
|
def load_currrent_user():
|
|
|
|
|
g.user = User.query.filter_by(openid=session['openid']).first() \
|
|
|
|
|
if 'openid' in session else None
|
|
|
|
|
|
2010-05-03 13:03:44 +02:00
|
|
|
@app.after_request
|
2010-05-03 13:04:36 +02:00
|
|
|
def remove_db_session(response):
|
2010-05-03 13:03:44 +02:00
|
|
|
db_session.remove()
|
2010-05-03 13:04:36 +02:00
|
|
|
return response
|
2010-05-03 13:03:44 +02:00
|
|
|
|
2010-05-16 15:02:09 +02:00
|
|
|
app.add_url_rule('/docs/', endpoint='docs.index', build_only=True)
|
|
|
|
|
app.add_url_rule('/docs/<path:page>/', endpoint='docs.show',
|
|
|
|
|
build_only=True)
|
|
|
|
|
app.add_url_rule('/docs/flask-docs.pdf', endpoint='docs.pdf',
|
|
|
|
|
build_only=True)
|
|
|
|
|
app.add_url_rule('/docs/flask-docs.zip', endpoint='docs.zip',
|
|
|
|
|
build_only=True)
|
2010-05-16 13:51:12 +02:00
|
|
|
|
2010-05-02 16:52:15 +02:00
|
|
|
from flask_website.views.general import general
|
2010-05-18 17:56:51 +02:00
|
|
|
from flask_website.views.community import community
|
2010-05-02 16:52:15 +02:00
|
|
|
from flask_website.views.mailinglist import mailinglist
|
|
|
|
|
from flask_website.views.snippets import snippets
|
2010-05-09 14:08:02 +02:00
|
|
|
from flask_website.views.extensions import extensions
|
2010-05-02 16:52:15 +02:00
|
|
|
app.register_module(general)
|
2010-05-18 17:56:51 +02:00
|
|
|
app.register_module(community)
|
2010-05-02 16:52:15 +02:00
|
|
|
app.register_module(mailinglist)
|
|
|
|
|
app.register_module(snippets)
|
2010-05-09 14:08:02 +02:00
|
|
|
app.register_module(extensions)
|
2010-05-03 11:20:52 +02:00
|
|
|
|
2010-05-03 13:03:44 +02:00
|
|
|
from flask_website.database import User, db_session
|
2010-05-16 01:06:37 +02:00
|
|
|
from flask_website import utils
|
|
|
|
|
|
|
|
|
|
app.jinja_env.filters['datetimeformat'] = utils.format_datetime
|
|
|
|
|
app.jinja_env.filters['timedeltaformat'] = utils.format_timedelta
|
2010-05-16 13:51:12 +02:00
|
|
|
app.jinja_env.filters['displayopenid'] = utils.display_openid
|