diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py index c1c483642df7d4e46906fc024d7f285cdb78da4a..e161cc7f9736d60d56a7f47852d0e859b52fd37f 100644 --- a/aleksis/core/settings.py +++ b/aleksis/core/settings.py @@ -989,46 +989,67 @@ FILE_UPLOAD_HANDLERS = [ "django.core.files.uploadhandler.TemporaryFileUploadHandler", ] +STORAGES = { + "default": {"BACKEND": "titofisto.TitofistoStorage", "OPTIONS": {}}, + "staticfiles": { + "BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage", + "OPTIONS": {}, + }, +} + + if _settings.get("storage.type", "").lower() == "s3": INSTALLED_APPS.append("storages") - DEFAULT_FILE_STORAGE = "storages.backends.s3.S3Storage" + STORAGES["default"]["BACKEND"] = "storages.backends.s3.S3Storage" FILE_UPLOAD_HANDLERS.remove("django.core.files.uploadhandler.MemoryFileUploadHandler") if _settings.get("storage.s3.static.enabled", False): - STATICFILES_STORAGE = "storages.backends.s3.S3StaticStorage" - AWS_STORAGE_BUCKET_NAME_STATIC = _settings.get("storage.s3.static.bucket_name", "") - AWS_S3_MAX_AGE_SECONDS_CACHED_STATIC = _settings.get( - "storage.s3.static.max_age_seconds", 24 * 60 * 60 - ) - - AWS_REGION = _settings.get("storage.s3.region_name", "") - AWS_ACCESS_KEY_ID = _settings.get("storage.s3.access_key", "") - AWS_SECRET_ACCESS_KEY = _settings.get("storage.s3.secret_key", "") - AWS_SESSION_TOKEN = _settings.get("storage.s3.session_token", "") - AWS_STORAGE_BUCKET_NAME = _settings.get("storage.s3.bucket_name", "") - AWS_LOCATION = _settings.get("storage.s3.location", "") - AWS_S3_ADDRESSING_STYLE = _settings.get("storage.s3.addressing_style", "auto") - AWS_S3_ENDPOINT_URL = _settings.get("storage.s3.endpoint_url", "") - AWS_S3_KEY_PREFIX = _settings.get("storage.s3.key_prefix", "") - AWS_S3_BUCKET_AUTH = _settings.get("storage.s3.bucket_auth", True) - AWS_S3_MAX_AGE_SECONDS = _settings.get("storage.s3.max_age_seconds", 24 * 60 * 60) - AWS_S3_PUBLIC_URL = _settings.get("storage.s3.public_url", "") - AWS_S3_REDUCED_REDUNDANCY = _settings.get("storage.s3.reduced_redundancy", False) - AWS_S3_CONTENT_DISPOSITION = _settings.get("storage.s3.content_disposition", "") - AWS_S3_CONTENT_LANGUAGE = _settings.get("storage.s3.content_language", "") - AWS_S3_METADATA = _settings.get("storage.s3.metadata", {}) - AWS_S3_ENCRYPT_KEY = _settings.get("storage.s3.encrypt_key", False) - AWS_S3_KMS_ENCRYPTION_KEY_ID = _settings.get("storage.s3.kms_encryption_key_id", "") - AWS_S3_GZIP = _settings.get("storage.s3.gzip", True) - AWS_S3_SIGNATURE_VERSION = _settings.get("storage.s3.signature_version", None) - AWS_S3_FILE_OVERWRITE = _settings.get("storage.s3.file_overwrite", False) - AWS_S3_VERIFY = _settings.get("storage.s3.verify", True) - AWS_S3_USE_SSL = _settings.get("storage.s3.use_ssl", True) -else: - DEFAULT_FILE_STORAGE = "titofisto.TitofistoStorage" - TITOFISTO_TIMEOUT = 10 * 60 + STORAGES["staticfiles"]["BACKEND"] = "storages.backends.s3.S3StaticStorage" + # AWS_S3_MAX_AGE_SECONDS_CACHED_STATIC = _settings.get( + # "storage.s3.static.max_age_seconds", 24 * 60 * 60 + # ) + STORAGES["default"]["OPTIONS"] = { + "region_name": _settings.get("storage.s3.static.region_name", ""), + "access_key": _settings.get("storage.s3.static.access_key", ""), + "secret_key": _settings.get("storage.s3.static.secret_key", ""), + "security_token": _settings.get("storage.s3.static.session_token", ""), + "bucket_name": _settings.get("storage.s3.static.bucket_name", ""), + "location": _settings.get("storage.s3.static.location", ""), + "addressing_style": _settings.get("storage.s3.static.addressing_style", "auto"), + "endpoint_url": _settings.get("storage.s3.static.endpoint_url", ""), + "gzip": _settings.get("storage.s3.static.gzip", True), + "signature_version": _settings.get("storage.s3.static.signature_version", None), + "file_overwrite": _settings.get("storage.s3.static.file_overwrite", False), + "verify": _settings.get("storage.s3.static.verify", True), + "use_ssl": _settings.get("storage.s3.static.use_ssl", True), + } + STORAGES["default"]["OPTIONS"] = { + "region_name": _settings.get("storage.s3.region_name", ""), + "access_key": _settings.get("storage.s3.access_key", ""), + "secret_key": _settings.get("storage.s3.secret_key", ""), + "security_token": _settings.get("storage.s3.session_token", ""), + "bucket_name": _settings.get("storage.s3.bucket_name", ""), + "location": _settings.get("storage.s3.location", ""), + "addressing_style": _settings.get("storage.s3.addressing_style", "auto"), + "endpoint_url": _settings.get("storage.s3.endpoint_url", ""), + "gzip": _settings.get("storage.s3.gzip", True), + "signature_version": _settings.get("storage.s3.signature_version", None), + "file_overwrite": _settings.get("storage.s3.file_overwrite", False), + "verify": _settings.get("storage.s3.verify", True), + "use_ssl": _settings.get("storage.s3.use_ssl", True), + } + # AWS_S3_MAX_AGE_SECONDS = _settings.get("storage.s3.max_age_seconds", 24 * 60 * 60) + # AWS_S3_PUBLIC_URL = _settings.get("storage.s3.public_url", "") + # AWS_S3_REDUCED_REDUNDANCY = _settings.get("storage.s3.reduced_redundancy", False) + # AWS_S3_CONTENT_DISPOSITION = _settings.get("storage.s3.content_disposition", "") + # AWS_S3_CONTENT_LANGUAGE = _settings.get("storage.s3.content_language", "") + # AWS_S3_METADATA = _settings.get("storage.s3.metadata", {}) + # AWS_S3_ENCRYPT_KEY = _settings.get("storage.s3.encrypt_key", False) + # AWS_S3_KMS_ENCRYPTION_KEY_ID = _settings.get("storage.s3.kms_encryption_key_id", "") + +TITOFISTO_TIMEOUT = 10 * 60 TITOFISTO_ENABLE_UPLOAD = True TITOFISTO_UPLOAD_NAMESPACE = "__titofisto__/upload/"