Merge branch '857-s3-absolute-bath' into 'master'

Resolve ""This backend doesn't support absolute paths" when uploading certain tracks"

See merge request funkwhale/funkwhale!785
environments/review-front-708-9rtl2l/deployments/1820
Eliot Berriot 2019-06-17 08:25:24 +02:00
commit 4010496b65
3 zmienionych plików z 11 dodań i 1 usunięć

Wyświetl plik

@ -12,7 +12,7 @@ def guess_mimetype(f):
t = magic.from_buffer(f.read(b), mime=True)
if not t.startswith("audio/"):
# failure, we try guessing by extension
mt, _ = mimetypes.guess_type(f.path)
mt, _ = mimetypes.guess_type(f.name)
if mt:
t = mt
return t

Wyświetl plik

@ -36,3 +36,12 @@ def test_get_audio_file_data(name, expected):
result = utils.get_audio_file_data(f)
assert result == expected
def test_guess_mimetype_dont_crash_with_s3(factories, mocker, settings):
"""See #857"""
settings.DEFAULT_FILE_STORAGE = "funkwhale_api.common.storage.ASCIIS3Boto3Storage"
mocker.patch("magic.from_buffer", return_value="none")
f = factories["music.Upload"].build(audio_file__filename="test.mp3")
assert utils.guess_mimetype(f.audio_file) == "audio/mpeg"

Wyświetl plik

@ -0,0 +1 @@
Fix broken upload for specific files when using S3 storage (#857)