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
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