aboutsummaryrefslogtreecommitdiff
path: root/qc_app/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'qc_app/__init__.py')
-rw-r--r--qc_app/__init__.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/qc_app/__init__.py b/qc_app/__init__.py
deleted file mode 100644
index 3ee8aa0..0000000
--- a/qc_app/__init__.py
+++ /dev/null
@@ -1,48 +0,0 @@
-"""The Quality-Control Web Application entry point"""
-import os
-import logging
-from pathlib import Path
-
-from flask import Flask, request
-
-from .entry import entrybp
-from .upload import upload
-from .parse import parsebp
-from .samples import samples
-from .base_routes import base
-from .dbinsert import dbinsertbp
-from .errors import register_error_handlers
-
-def override_settings_with_envvars(
- app: Flask, ignore: tuple[str, ...]=tuple()) -> None:
- """Override settings in `app` with those in ENVVARS"""
- for setting in (key for key in app.config if key not in ignore):
- app.config[setting] = os.environ.get(setting) or app.config[setting]
-
-
-def create_app():
- """The application factory"""
- app = Flask(__name__)
- app.config.from_pyfile(
- Path(__file__).parent.joinpath("default_settings.py"))
- if "QCAPP_CONF" in os.environ:
- app.config.from_envvar("QCAPP_CONF") # Override defaults with instance path
-
- override_settings_with_envvars(app, ignore=tuple())
-
- if "QCAPP_SECRETS" in os.environ:
- app.config.from_envvar("QCAPP_SECRETS")
-
- # setup jinja2 symbols
- app.jinja_env.globals.update(request_url=lambda : request.url)
-
- # setup blueprints
- app.register_blueprint(base, url_prefix="/")
- app.register_blueprint(entrybp, url_prefix="/")
- app.register_blueprint(parsebp, url_prefix="/parse")
- app.register_blueprint(upload, url_prefix="/upload")
- app.register_blueprint(dbinsertbp, url_prefix="/dbinsert")
- app.register_blueprint(samples, url_prefix="/samples")
-
- register_error_handlers(app)
- return app