|
|
from flask import Flask |
|
|
from flask_sqlalchemy import SQLAlchemy |
|
|
from flask_login import LoginManager |
|
|
from celery import Celery |
|
|
import redis |
|
|
|
|
|
db = SQLAlchemy() |
|
|
login = LoginManager() |
|
|
celery = Celery(__name__) |
|
|
cache = redis.Redis() |
|
|
|
|
|
def create_app(): |
|
|
|
|
|
app = Flask(__name__) |
|
|
|
|
|
|
|
|
app.config.from_object('config.Config') |
|
|
|
|
|
|
|
|
app.instance_path = app.config['INSTANCE_PATH'] |
|
|
|
|
|
|
|
|
db.init_app(app) |
|
|
login.init_app(app) |
|
|
celery.conf.update(app.config) |
|
|
|
|
|
|
|
|
from .routes.auth import auth_bp |
|
|
from .routes.dashboard import dashboard_bp |
|
|
from .routes.api import api_bp |
|
|
from .routes.compliance import compliance_bp |
|
|
app.register_blueprint(auth_bp) |
|
|
app.register_blueprint(dashboard_bp) |
|
|
app.register_blueprint(api_bp) |
|
|
app.register_blueprint(compliance_bp) |
|
|
|
|
|
return app |