From ddb50efcbeff189d55ff18b4bf6d4af113355fbc Mon Sep 17 00:00:00 2001 From: Kristof Daja Date: Sun, 12 Dec 2021 02:16:27 +0100 Subject: [PATCH] issue/#34: Storage.stat() now raises AttributeError when client.stat_object fails This resolves compatibility with delete_file() in collectstatic. See more at https://github.com/django/django/blob/2f73e5406d54cb8945e187eff302a3a3373350be/django/contrib/staticfiles/management/commands/collectstatic.py#L252 --- django_minio_backend/models.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/django_minio_backend/models.py b/django_minio_backend/models.py index 44f56e3..6b33c12 100644 --- a/django_minio_backend/models.py +++ b/django_minio_backend/models.py @@ -194,10 +194,8 @@ def stat(self, name: str) -> Union[minio.datatypes.Object, bool]: try: obj = self.client.stat_object(self.bucket, object_name=object_name) return obj - except (minio.error.S3Error, minio.error.ServerError): - return False - except urllib3.exceptions.MaxRetryError: - return False + except (minio.error.S3Error, minio.error.ServerError, urllib3.exceptions.MaxRetryError): + raise AttributeError(f'Could not stat object ({name}) in bucket ({self.bucket})') def delete(self, name: str): """