示例#1
0
文件: crn.py 项目: au-easyshare/crn
def create_app(options):
    app = Flask(__name__)

    app.secret_key = 'ed788cab1d449175885623bf5fad28101898b059380a263f'

    config = ConfigParser.ConfigParser()
    config.readfp(open(options.config))

    app.mopts = misc.MagicOptions(config_defaults, dict(config.items(options.section)), vars(options), dict(section=options.section))
    app.users = dict(config.items('users_' + options.section))
    engine = create_engine(app.mopts.uri)
    adjust_schemas(staging=app.mopts.staging_schema, model=app.mopts.model_schema)
    Session = sessionmaker(bind=engine)  # autocommit=True)

    auth.init_login_manager(app)
    jinja_local.jinja_filters.init_app(app)
    misc.menu.init_app(app)

    app.register_blueprint(auth.auth)
#    app.register_blueprint(errors.errors)
    app.register_blueprint(home.homebp, url_prefix='/home')
    app.register_blueprint(crn.crnbp, url_prefix='/crn')

#    @app.route('/')
#    def root():
#        return redirect(url_for('binterface.ctl_jobs', filter='php_only'))

    @app.after_request
    def session_commit(response):
        session = getattr(g, 'session', None)
        if session is not None:
            g.session.commit()
        return response

    @app.before_request
    def before_request():
        g.session = Session()

    @app.teardown_request
    def teardown_request(exception):
        session = getattr(g, 'session', None)
        if session is not None:
            session.close()
    return app
示例#2
0
from flask import Flask, render_template, request, session, redirect, url_for, flash
from flask_login import current_user, login_required
from mysql_db import MySQL
import mysql.connector as connector

app = Flask(__name__)
application = app

app.config.from_pyfile('config.py')

mysql = MySQL(app)

from auth import bp as auth_bp, init_login_manager, check_rights
from visits import bp as visits_bp

init_login_manager(app)
app.register_blueprint(auth_bp)
app.register_blueprint(visits_bp)


@app.before_request
def save_visit_info():
    user_id = getattr(current_user, 'id', None)
    query = 'INSERT INTO visit_logs (path, user_id) VALUES (%s, %s);'
    with mysql.connection.cursor(named_tuple=True) as cursor:
        try:
            cursor.execute(query, (request.path, user_id))
            mysql.connection.commit()
        except:
            pass