Skip to content

Commit

Permalink
Added respect for inherited signatures in S3File.open()
Browse files Browse the repository at this point in the history
Updated return type from File to S3File
  • Loading branch information
theriverman committed Mar 24, 2024
1 parent c51418a commit 4e44b32
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions django_minio_backend/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ def __init__(self, file, name, storage):
super().__init__(file, name)
self._storage = storage

def open(self, mode=None):
def open(self, mode=None, *args, **kwargs):
if self.closed:
self.file = self._storage.open(self.name, mode or "rb").file
return super().open(mode)
return super().open(mode, *args, **kwargs)


@deconstructible
Expand Down Expand Up @@ -189,7 +189,7 @@ def get_available_name(self, name, max_length=None):
return name
return super(MinioBackend, self).get_available_name(name, max_length)

def _open(self, object_name, mode='rb', **kwargs) -> File:
def _open(self, object_name, mode='rb', **kwargs) -> S3File:
"""
Implements the Storage._open(name,mode='rb') method
:param name (str): object_name [path to file excluding bucket name which is implied]
Expand All @@ -200,7 +200,7 @@ def _open(self, object_name, mode='rb', **kwargs) -> File:
if mode != 'rb':
raise ValueError('Files retrieved from MinIO are read-only. Use save() method to override contents')
try:
resp = self.client.get_object(self.bucket, object_name, kwargs)
resp = self.client.get_object(self.bucket, object_name, **kwargs)
file = S3File(file=io.BytesIO(resp.read()), name=object_name, storage=self)
finally:
resp.close()
Expand Down

0 comments on commit 4e44b32

Please sign in to comment.