diff options
Diffstat (limited to 'uploader/__init__.py')
| -rw-r--r-- | uploader/__init__.py | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/uploader/__init__.py b/uploader/__init__.py index 7425b38..46689c5 100644 --- a/uploader/__init__.py +++ b/uploader/__init__.py @@ -11,7 +11,7 @@ from cachelib import FileSystemCache from gn_libs import jobs as gnlibs_jobs -from flask_session import Session +from flask_session import Session# type: ignore[attr-defined] from uploader.oauth2.client import user_logged_in, authserver_authorise_uri @@ -73,6 +73,28 @@ def setup_modules_logging(app_logger, modules): _logger.setLevel(loglevel) +def __setup_scratch_directory__(app: Flask) -> Flask: + app.config["SCRATCH_DIRECTORY"] = Path( + app.config["SCRATCH_DIRECTORY"]).absolute() + return app + +def __setup_upload_directory__(app: Flask) -> Flask: + if app.config.get("UPLOADS_DIRECTORY", "").strip() == "": + app.config["UPLOADS_DIRECTORY"] = app.config[ + "SCRATCH_DIRECTORY"].joinpath("uploads") + else: + app.config["UPLOADS_DIRECTORY"] = Path( + app.config["UPLOADS_DIRECTORY"].strip()).absolute() + + return app + + +def update_unspecified_defaults(app: Flask) -> Flask: + """Setup the defaults for necessary configurations that do not have values + specified for them.""" + return __setup_upload_directory__(__setup_scratch_directory__(app)) + + def create_app(config: Optional[dict] = None): """The application factory. @@ -100,10 +122,11 @@ def create_app(config: Optional[dict] = None): # Silently ignore secrets if the file does not exist. app.config.from_pyfile(secretsfile) app.config.update(config) # Override everything with passed in config + update_unspecified_defaults(app) ### END: Application configuration app.config["SESSION_CACHELIB"] = FileSystemCache( - cache_dir=Path(app.config["SESSION_FILESYSTEM_CACHE_PATH"]).absolute(), + cache_dir=str(Path(app.config["SESSION_FILESYSTEM_CACHE_PATH"]).absolute()), threshold=int(app.config["SESSION_FILESYSTEM_CACHE_THRESHOLD"]), default_timeout=int(app.config["SESSION_FILESYSTEM_CACHE_TIMEOUT"])) |
