mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-07-06 12:43:18 +00:00
Restructure code and use APScheduler for daemon functionality
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
from config import Config
|
||||
from docker import DockerClient
|
||||
from flask import Flask
|
||||
from flask_apscheduler import APScheduler
|
||||
from flask_assets import Environment
|
||||
@ -11,18 +12,19 @@ from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_hashids import Hashids
|
||||
|
||||
|
||||
assets: Environment = Environment()
|
||||
db: SQLAlchemy = SQLAlchemy()
|
||||
hashids: Hashids = Hashids()
|
||||
login: LoginManager = LoginManager()
|
||||
assets = Environment()
|
||||
db = SQLAlchemy()
|
||||
docker_client = DockerClient()
|
||||
hashids = Hashids()
|
||||
login = LoginManager()
|
||||
login.login_view = 'auth.login'
|
||||
login.login_message = 'Please log in to access this page.'
|
||||
mail: Mail = Mail()
|
||||
migrate: Migrate = Migrate()
|
||||
paranoid: Paranoid = Paranoid()
|
||||
mail = Mail()
|
||||
migrate = Migrate()
|
||||
paranoid = Paranoid()
|
||||
paranoid.redirect_view = '/'
|
||||
scheduler: APScheduler = APScheduler() # TODO: Use this!
|
||||
socketio: SocketIO = SocketIO()
|
||||
scheduler = APScheduler()
|
||||
socketio = SocketIO()
|
||||
|
||||
|
||||
def create_app(config: Config = Config) -> Flask:
|
||||
@ -30,6 +32,11 @@ def create_app(config: Config = Config) -> Flask:
|
||||
app: Flask = Flask(__name__)
|
||||
app.config.from_object(config)
|
||||
config.init_app(app)
|
||||
docker_client.login(
|
||||
username=app.config['NOPAQUE_DOCKER_REGISTRY_USERNAME'],
|
||||
password=app.config['NOPAQUE_DOCKER_REGISTRY_PASSWORD'],
|
||||
registry=app.config['NOPAQUE_DOCKER_REGISTRY']
|
||||
)
|
||||
|
||||
assets.init_app(app)
|
||||
db.init_app(app)
|
||||
@ -38,10 +45,11 @@ def create_app(config: Config = Config) -> Flask:
|
||||
mail.init_app(app)
|
||||
migrate.init_app(app, db)
|
||||
paranoid.init_app(app)
|
||||
scheduler.init_app(app)
|
||||
socketio.init_app(app, message_queue=app.config['NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI']) # noqa
|
||||
|
||||
from app import socketio_event_listeners
|
||||
from app import sqlalchemy_event_listeners
|
||||
from . import tasks
|
||||
tasks.register(app, scheduler)
|
||||
|
||||
from .admin import bp as admin_blueprint
|
||||
app.register_blueprint(admin_blueprint, url_prefix='/admin')
|
||||
|
Reference in New Issue
Block a user