mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-07-06 04:33:18 +00:00
modernize type hinting
This commit is contained in:
@ -16,6 +16,7 @@ from flask_hashids import Hashids
|
||||
|
||||
docker_client = DockerClient.from_env()
|
||||
|
||||
|
||||
apifairy = APIFairy()
|
||||
assets = Environment()
|
||||
db = SQLAlchemy()
|
||||
@ -43,6 +44,11 @@ def create_app(config: Config = Config) -> Flask:
|
||||
_register_socketio_namespaces(app)
|
||||
_register_db_event_listeners(app)
|
||||
|
||||
@app.before_request
|
||||
def log_headers():
|
||||
from flask import request
|
||||
print(request.__dict__)
|
||||
|
||||
return app
|
||||
|
||||
|
||||
@ -64,16 +70,24 @@ def _configure_logging(app: Flask):
|
||||
|
||||
|
||||
def _configure_middlewares(app: Flask):
|
||||
from werkzeug.middleware.proxy_fix import ProxyFix
|
||||
proxy_fix_enabled: bool = app.config['NOPAQUE_PROXY_FIX_ENABLED']
|
||||
|
||||
if proxy_fix_enabled:
|
||||
from werkzeug.middleware.proxy_fix import ProxyFix
|
||||
|
||||
proxy_fix_x_for: int = app.config['NOPAQUE_PROXY_FIX_X_FOR']
|
||||
proxy_fix_x_host: int = app.config['NOPAQUE_PROXY_FIX_X_HOST']
|
||||
proxy_fix_x_port: int = app.config['NOPAQUE_PROXY_FIX_X_PORT']
|
||||
proxy_fix_x_prefix: int = app.config['NOPAQUE_PROXY_FIX_X_PREFIX']
|
||||
proxy_fix_x_proto: int = app.config['NOPAQUE_PROXY_FIX_X_PROTO']
|
||||
|
||||
if app.config['NOPAQUE_PROXY_FIX_ENABLED']:
|
||||
app.wsgi_app = ProxyFix(
|
||||
app.wsgi_app,
|
||||
x_for=app.config['NOPAQUE_PROXY_FIX_X_FOR'],
|
||||
x_host=app.config['NOPAQUE_PROXY_FIX_X_HOST'],
|
||||
x_port=app.config['NOPAQUE_PROXY_FIX_X_PORT'],
|
||||
x_prefix=app.config['NOPAQUE_PROXY_FIX_X_PREFIX'],
|
||||
x_proto=app.config['NOPAQUE_PROXY_FIX_X_PROTO']
|
||||
x_for=proxy_fix_x_for,
|
||||
x_host=proxy_fix_x_host,
|
||||
x_port=proxy_fix_x_port,
|
||||
x_prefix=proxy_fix_x_prefix,
|
||||
x_proto=proxy_fix_x_proto
|
||||
)
|
||||
|
||||
|
||||
@ -119,32 +133,56 @@ def _init_extensions(app: Flask):
|
||||
|
||||
def _register_blueprints(app: Flask):
|
||||
from .admin import bp as admin_blueprint
|
||||
from .api import bp as api_blueprint
|
||||
from .auth import bp as auth_blueprint
|
||||
from .contributions import bp as contributions_blueprint
|
||||
from .corpora import bp as corpora_blueprint
|
||||
from .errors import bp as errors_bp
|
||||
from .jobs import bp as jobs_blueprint
|
||||
from .main import bp as main_blueprint
|
||||
from .services import bp as services_blueprint
|
||||
from .settings import bp as settings_blueprint
|
||||
from .users import bp as users_blueprint
|
||||
from .workshops import bp as workshops_blueprint
|
||||
|
||||
app.register_blueprint(admin_blueprint, url_prefix='/admin')
|
||||
|
||||
from .api import bp as api_blueprint
|
||||
app.register_blueprint(api_blueprint, url_prefix='/api')
|
||||
|
||||
from .auth import bp as auth_blueprint
|
||||
app.register_blueprint(auth_blueprint)
|
||||
|
||||
from .contributions import bp as contributions_blueprint
|
||||
app.register_blueprint(contributions_blueprint, url_prefix='/contributions')
|
||||
|
||||
from .corpora import bp as corpora_blueprint
|
||||
app.register_blueprint(corpora_blueprint, cli_group='corpus', url_prefix='/corpora')
|
||||
|
||||
from .errors import bp as errors_bp
|
||||
app.register_blueprint(errors_bp)
|
||||
|
||||
from .jobs import bp as jobs_blueprint
|
||||
app.register_blueprint(jobs_blueprint, url_prefix='/jobs')
|
||||
|
||||
from .main import bp as main_blueprint
|
||||
app.register_blueprint(main_blueprint, cli_group=None)
|
||||
|
||||
from .services import bp as services_blueprint
|
||||
app.register_blueprint(services_blueprint, url_prefix='/services')
|
||||
|
||||
from .settings import bp as settings_blueprint
|
||||
app.register_blueprint(settings_blueprint, url_prefix='/settings')
|
||||
|
||||
from .users import bp as users_blueprint
|
||||
app.register_blueprint(users_blueprint, cli_group='user', url_prefix='/users')
|
||||
|
||||
from .workshops import bp as workshops_blueprint
|
||||
app.register_blueprint(workshops_blueprint, url_prefix='/workshops')
|
||||
|
||||
|
||||
# def _add_admin_views():
|
||||
# from flask_admin.contrib.sqla import ModelView
|
||||
# from . import models
|
||||
|
||||
# for v in models.__dict__.values():
|
||||
# # Check if v is a class
|
||||
# if not isinstance(v, type):
|
||||
# continue
|
||||
# # Check if v is a subclass of db.Model
|
||||
# if not issubclass(v, db.Model):
|
||||
# continue
|
||||
# admin.add_view(ModelView(v, db.session, category='Database'))
|
||||
|
||||
|
||||
def _register_socketio_namespaces(app: Flask):
|
||||
from .corpora.cqi_over_sio import CQiOverSocketIO
|
||||
|
||||
|
Reference in New Issue
Block a user