Skip to content

Commit

Permalink
models.py - added guard for missing OPTIONS
Browse files Browse the repository at this point in the history
settings.py - comments added for optional fields
  • Loading branch information
theriverman committed Jan 7, 2025
1 parent f3daba4 commit f5034ad
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
20 changes: 10 additions & 10 deletions DjangoExampleProject/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@
"MINIO_ACCESS_KEY": os.getenv("GH_MINIO_ACCESS_KEY", "Q3AM3UQ867SPQQA43P2F"),
"MINIO_SECRET_KEY": os.getenv("GH_MINIO_SECRET_KEY", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"),
"MINIO_USE_HTTPS": bool(distutils.util.strtobool(os.getenv("GH_MINIO_USE_HTTPS", "true"))),
"MINIO_REGION": os.getenv("GH_MINIO_REGION", "us-east-1"),
"MINIO_URL_EXPIRY_HOURS": timedelta(days=1), # Default is 7 days (longest) if not defined
"MINIO_CONSISTENCY_CHECK_ON_START": True,
"MINIO_STATIC_FILES_BUCKET": "my-static-files-bucket",
"MINIO_REGION": os.getenv("GH_MINIO_REGION", "us-east-1"), # OPTIONAL
"MINIO_URL_EXPIRY_HOURS": timedelta(days=1), # OPTIONAL. Default is 7 days (longest) if not defined
"MINIO_CONSISTENCY_CHECK_ON_START": True, # OPTIONAL.
"MINIO_STATIC_FILES_BUCKET": "my-static-files-bucket", # OPTIONAL. Default = auto-generated-bucket-static-files
},
},
"default": {
Expand All @@ -173,13 +173,13 @@
"MINIO_ACCESS_KEY": os.getenv("GH_MINIO_ACCESS_KEY", "Q3AM3UQ867SPQQA43P2F"),
"MINIO_SECRET_KEY": os.getenv("GH_MINIO_SECRET_KEY", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"),
"MINIO_USE_HTTPS": bool(distutils.util.strtobool(os.getenv("GH_MINIO_USE_HTTPS", "true"))),
"MINIO_REGION": os.getenv("GH_MINIO_REGION", "us-east-1"),
"MINIO_DEFAULT_BUCKET": "django-minio-backend-default-dev-bucket", # PRIVATE by default if not added below
"MINIO_PRIVATE_BUCKETS": ['django-backend-dev-private', 'my-media-files-bucket', ],
"MINIO_PUBLIC_BUCKETS": ['django-backend-dev-public', 't5p2g08k31', '7xi7lx9rjh'],
"MINIO_REGION": os.getenv("GH_MINIO_REGION", "us-east-1"), # OPTIONAL
"MINIO_DEFAULT_BUCKET": "django-minio-backend-default-dev-bucket", # OPTIONAL. Default = auto-generated-bucket-media-files | PRIVATE by default if not added below
"MINIO_PRIVATE_BUCKETS": ['django-backend-dev-private', 'my-media-files-bucket', ], # OPTIONAL
"MINIO_PUBLIC_BUCKETS": ['django-backend-dev-public', 't5p2g08k31', '7xi7lx9rjh'], # OPTIONAL
"MINIO_URL_EXPIRY_HOURS": timedelta(days=1), # OPTIONAL. Default is 7 days (longest) if not defined
"MINIO_CONSISTENCY_CHECK_ON_START": True,
"MINIO_BUCKET_CHECK_ON_SAVE": False,
"MINIO_CONSISTENCY_CHECK_ON_START": True, # OPTIONAL.
"MINIO_BUCKET_CHECK_ON_SAVE": False, # OPTIONAL.
"MINIO_POLICY_HOOKS": [ # List[Tuple[str, dict]] # OPTIONAL
# ('django-backend-dev-private', dummy_policy)
],
Expand Down
3 changes: 3 additions & 0 deletions django_minio_backend/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ def __init__(self,
storage_name: str = 'default',
*args,
**kwargs):
if not storages.backends[storage_name].get("OPTIONS"):
raise ConfigurationError("OPTIONS not present in STORAGES in settings.py")
# received kwargs are preferred. missing keys are filled from storages.backends
kwargs = {**kwargs, **{k: v for k, v in storages.backends[storage_name]["OPTIONS"].items() if k not in kwargs}}

Expand Down Expand Up @@ -469,6 +471,7 @@ class MinioBackendStatic(MinioBackend):

def __init__(self, *args, **kwargs):
static_files_bucket = kwargs.get("MINIO_STATIC_FILES_BUCKET", self.DEFAULT_STATIC_FILES_BUCKET)
logger.debug(f"MinioBackendStatic.static_files_bucket = {static_files_bucket}")
kwargs["MINIO_PUBLIC_BUCKETS"] = [static_files_bucket, ] # hardcoded. static files must be public
super().__init__(bucket_name=static_files_bucket, storage_name="staticfiles", *args, **kwargs)

Expand Down

0 comments on commit f5034ad

Please sign in to comment.