Skip to content

Commit 57a47b6

Browse files
committed
Rename time information APIs to be Django-compliant
The following `MinioStorage` methods are renamed: * `accessed_time` -> `get_accessed_time` * `created_time` -> `get_created_time` * `modified_time` -> `get_modified_time` Additionally, `get_accessed_time` and `get_created_time` now raise `NotImplementedError`, as this information is not available from Minio. See: https://docs.djangoproject.com/en/5.2/ref/files/storage/#django.core.files.storage.Storage.get_accessed_time https://docs.djangoproject.com/en/5.2/ref/files/storage/#django.core.files.storage.Storage.get_created_time https://docs.djangoproject.com/en/5.2/ref/files/storage/#django.core.files.storage.Storage.get_accessed_time Fixes #83.
1 parent 25798c5 commit 57a47b6

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

minio_storage/storage.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,19 +348,19 @@ def strip_end(path):
348348
def endpoint_url(self):
349349
return self.client._base_url._url.geturl()
350350

351-
def accessed_time(self, name: str) -> datetime.datetime:
351+
def get_accessed_time(self, name: str) -> T.NoReturn:
352352
"""
353353
Not available via the S3 API
354354
"""
355-
return self.modified_time(name)
355+
raise NotImplementedError("Accessed time is not supported")
356356

357-
def created_time(self, name: str) -> datetime.datetime:
357+
def get_created_time(self, name: str) -> T.NoReturn:
358358
"""
359359
Not available via the S3 API
360360
"""
361-
return self.modified_time(name)
361+
raise NotImplementedError("Created time is not supported")
362362

363-
def modified_time(self, name: str) -> datetime.datetime:
363+
def get_modified_time(self, name: str) -> datetime.datetime:
364364
try:
365365
info: Object = self.client.stat_object(self.bucket_name, name)
366366
except merr.InvalidResponseError as error:

tests/test_app/tests/retrieve_tests.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,24 +45,22 @@ def test_size_of_non_existent_raises_exception(self):
4545
with self.assertRaises(S3Error):
4646
self.media_storage.size(test_file)
4747

48-
def test_modified_time(self):
48+
def test_get_modified_time(self):
4949
self.assertIsInstance(
50-
self.media_storage.modified_time(self.new_file), datetime.datetime
50+
self.media_storage.get_modified_time(self.new_file), datetime.datetime
5151
)
5252

53-
def test_accessed_time(self):
54-
self.assertIsInstance(
55-
self.media_storage.accessed_time(self.new_file), datetime.datetime
56-
)
53+
def test_get_accessed_time(self):
54+
with self.assertRaises(NotImplementedError):
55+
self.media_storage.get_accessed_time(self.new_file)
5756

58-
def test_created_time(self):
59-
self.assertIsInstance(
60-
self.media_storage.created_time(self.new_file), datetime.datetime
61-
)
57+
def test_get_created_time(self):
58+
with self.assertRaises(NotImplementedError):
59+
self.media_storage.get_created_time(self.new_file)
6260

6361
def test_modified_time_of_non_existent_raises_exception(self):
6462
with self.assertRaises(S3Error):
65-
self.media_storage.modified_time("nonexistent.jpg")
63+
self.media_storage.get_modified_time("nonexistent.jpg")
6664

6765
def _listdir_root(self, root):
6866
self.media_storage.save("dir1/file2.txt", ContentFile(b"meh"))

0 commit comments

Comments
 (0)