aboutsummaryrefslogtreecommitdiff
path: root/app/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/__init__.py')
-rw-r--r--app/__init__.py41
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