import os import sys from flask import Flask from flask_login import LoginManager from app.models import db, User login_manager = LoginManager() login_manager.login_view = "auth.login" login_manager.login_message = "Veuillez vous connecter s'il vous plait" @login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) # Please, set a config file on top project dir # see in ../pdc_config.py try: from pdc_config import Config, ProdConfig, DevConfig, TestConfig except ImportError: # TODO: use logging system print("Please set a pdc_config.py file in you PYTHON_PATH") print("See INSTALL.md for more info") sys.exit(-1) def create_app(config_class=None): """ App Factory. can be called with configuration class as argument. """ # Configuration Switcher # try to set configuration depending on environment # if no configuration class was given # if config_class is None: flask_env = os.environ.get('FLASK_ENV') if not flask_env: flask_env = 'testing' if flask_env == 'production': config_class = ProdConfig elif flask_env == 'development': config_class = DevConfig elif flask_env == 'testing': config_class = TestConfig else: config_class = Config # Main flask app # app = Flask(__name__) app.config.from_object(config_class) db.init_app(app) login_manager.init_app(app) # Get and activate blueprints # from .main import bp as main_bp app.register_blueprint(main_bp) from .auth import bp as auth_bp app.register_blueprint(auth_bp) return app