SAE-A2-TruthInquiry/truthinquiry/__init__.py

44 lines
1.1 KiB
Python

import os
import flask
from sqlalchemy import engine as eg
from flask_sqlalchemy import SQLAlchemy
from truthinquiry.app import TruthInquiryApp
from truthinquiry.ext.database import fsa
from truthinquiry.ext.socketio import socket_io
from truthinquiry.ext.discord_bot import discord_bot
from truthinquiry.routes import routes_api, routes_ui, routes_socketio, routes_admin, routes_api_admin, handlers
def register_extensions(app):
fsa.setup_app_db(app)
socket_io.init_app(app)
discord_bot.try_start()
routes_api.scheduler.init_app(app)
routes_api.scheduler.start()
def register_routes(app):
app.register_blueprint(routes_api.routes_api, url_prefix="/api/v1")
app.register_blueprint(routes_ui.routes_ui, url_prefix="/")
app.register_blueprint(routes_admin.routes_admin, url_prefix="/admin")
app.register_blueprint(routes_api_admin.routes_api_admin, url_prefix="/api/v1/admin")
def create_app():
app = TruthInquiryApp()
register_extensions(app)
register_routes(app)
handlers.register_handlers(app)
return app