diff options
Diffstat (limited to 'app/__init__.py')
-rw-r--r-- | app/__init__.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/app/__init__.py b/app/__init__.py new file mode 100644 index 0000000..e929535 --- /dev/null +++ b/app/__init__.py @@ -0,0 +1,41 @@ + +from flask import Flask +from flask_security.datastore import SQLAlchemyUserDatastore +from flask_sqlalchemy import SQLAlchemy +from flask_migrate import Migrate +from flask_security.core import Security + +from flask_assets import Bundle, Environment + +from . import config + +db = SQLAlchemy() +migrate = Migrate() +security = Security() +environment = Environment() + + +def create_app(): + app = Flask(__name__) + + app.config.from_file("/etc/nccd/config.toml", load=config.load_config) + + db.init_app(app) + migrate.init_app(app, db) + environment.init_app(app) + + # Static file init + scss = Bundle('scss/style.scss', filters='scss', output='gen/style.css') + environment.register('scss', scss) + + from .database import User, Role + from .auth import forms as auth_forms + user_datastore = SQLAlchemyUserDatastore(db, User, Role) + security.init_app(app, user_datastore, register_form=auth_forms.ExtendedRegister) + + # Blueprints + app.register_blueprint(auth.bp) + + print(app.url_map) + + return app |